php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.07.2009, 19:24  
Benutzer
 
Registriert seit: 02.07.2009
Beiträge: 48
PHP-Kenntnisse:
Anfänger
Topblocker befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Insert Into Problem

Hallo Forum!

Ich hab mir mal aus einem Tutorial folgenden Code rausgeholt:

PHP-Code:
INSERT INTO
    News
(AutorTitelInhaltDatum)
VALUES
    
("Ich",
     
"Meine erste News",
     
"Hiermit teste ich wie man Datensätze in MySQL einfügt",
    
NOW()); 
Nun meine Frage, wie ich bei den "VALUES" Werte einsetzen kann, die weiter oben im Skript vom Benutzer eingetragen werden mussten?

Und noch eine Frage am Rande: wie kann ich bei phpmyadmin einstellen, dass in einer bestimmten Spalte nicht mehrmals der gleiche Inhalt erscheinen kann?
Es geht um ein Registrierungsformular mit automatischer Eintragung in eine Mitgliederliste.

Gruß und danke schonmal für die Antworten.
Topblocker ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.07.2009, 19:28  
Erfahrener Benutzer
 
Registriert seit: 05.04.2005
Beiträge: 1.333
Freeaak ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das script ist in php geschrieben? dann kannst du ja per $_POST auf textfelder zugreifen und die werte in die (das?) query einbauen.
für die eindeutigkeit einer spalte: da müsstest du irgendwo ein attribut "Unique" vergeben können
__________________
"Wenn du nicht weißt, was du tust: Machs mit Eleganz!"

(Murphy's Gesetze)
Freeaak ist offline   Mit Zitat antworten
Alt 02.07.2009, 19:48  
Benutzer
 
Registriert seit: 02.07.2009
Beiträge: 48
PHP-Kenntnisse:
Anfänger
Topblocker befindet sich auf einem aufstrebenden Ast
Standard

Ja, unique ist dort, aber in dem Feld wo ich es haben will ist es ausgegraut (ich glaube weil es vom Typ Text ist).

Ich poste mal den ganzen Code, hab nämlich wenig erfahrung mit php^^:

PHP-Code:

<?php

function __autoload($class)
{
    
$class strtolower($class);
    if(
eregi("df_"$class) == true)
    {
      include(
"classes/".$class.".php");
    }
}


$DataForm = new df_main();


$DataForm->setDesign("beach");



$mainform = new df_form("mainform""output.php"falseNULL"POST""myform""Registrierung");


$DataForm->bindForm($mainform);


$elem = new df_textbox("first_name"NULL"""Spitzname:""my_special_textbox");
$elem->setHTMLAfter('<br>');
$mainform->bindElement($elem);

$elem = new df_textbox("first_name"NULL"""Vorname*:""my_special_textbox");
$elem->setHTMLAfter('<br>');
$mainform->bindElement($elem);

$elem = new df_textbox("first_name"NULL"""Nachname*:""my_special_textbox");
$elem->setHTMLAfter('<br>');
$mainform->bindElement($elem);



$radio1 = new df_radio("male""male""m""M&auml;nnlich:"true"gender");
$radio2 = new df_radio("female""female""f""Weiblich:"false"gender");
$radio2->setHTMLAfter("<br>");
$mainform->bindElement($radio1);
$mainform->bindElement($radio2);



$elem = new df_textbox("email"NULL"""Email*:""my_special_textbox");
$elem->setHTMLAfter('<br>');
$mainform->bindElement($elem);
$elem = new df_textbox("wiederholen"NULL"""wdh.:""my_special_textbox");
$elem->setHTMLAfter('<br><br>');
$mainform->bindElement($elem);


$elem = new df_password("password""secret"NULL"Passwort*:");
$elem->setHTMLAfter('<br />');
$mainform->bindElement($elem);
$elem = new df_password("confirm_password""secret"NULL"Best&auml;tigen:"); $elem->setHTMLAfter('<br />');
$mainform->bindElement($elem);



$mainform->bindElement(new df_submit("Submit"NULL"Submit"));
$mainform->bindElement(new df_reset("btn_reset"NULL"Reset"));


?>

...

    <?php 

        
        
echo $DataForm->includeMoo();
        echo 
$DataForm->getDesign();
    
?>

...
        
        <?php
            
            
echo $DataForm->output();
        
?>
    
...
        
        <?php

            
echo "<br />";
            
        
?>

...

<?php
$link 
mysql_connect('localhost''xxx''***');
if (!
$link) {
    die(
'keine Verbindung möglich: ' mysql_error());
}
echo 
'Verbindung erfolgreich';

$db_selected mysql_select_db('xxx'$link);
if (!
$db_selected) {
    die (
'Kann xxx nicht benutzen : ' mysql_error());
}

INSERT INTO
    Registrierung
(PlatzSpitznameGeschlechtBilanz)
VALUES
    
(".",
     
".",
     
".");


mysql_close($link);
?>
Überall wo ... steht ist noch ein bisschen HTML-Code.

Wo muss ich jetzt was einfügen?
Topblocker ist offline   Mit Zitat antworten
Alt 02.07.2009, 20:39  
Benutzer
 
Registriert seit: 02.07.2009
Beiträge: 48
PHP-Kenntnisse:
Anfänger
Topblocker befindet sich auf einem aufstrebenden Ast
Standard

So ich habs jetzt so gemacht:

PHP-Code:
<?php
$link 
mysql_connect('localhost''xxx''xxx');
if (!
$link) {
    die(
'keine Verbindung möglich: ' mysql_error());
}
echo 
'Verbindung erfolgreich';

$db_selected mysql_select_db('xxx'$link);
if (!
$db_selected) {
    die (
'Kann xxx nicht benutzen : ' mysql_error());
}

$profilbild=$_POST['profilbild'];
$spitzname=$_POST['spitzname'];
$gender=$_POST['gender'];

$query="INSERT INTO Registrierung(Platz, Profilbild, Spitzname, Geschlecht, Bilanz) VALUES('$profilbild','$spitzname','$gender')";

mysql_query($query);


mysql_close($link);
?>
Und es scheint zu funktionieren, da "Verbindung erfolgreich" ausgegeben wird. Doch wenn ich dann das Formular ausfülle und abschicke, und dann bei meiner Datenbank schaue, steht da dass die Tabelle leer sei.
Soll ich das vlt auf die Output-Seite machen oder kann man so mit einem Befehl bestimmen, dass das ganze ausgeführt werden soll, sobald auf Submit gedrückt wurde (und nicht direkt beim Laden der Seite, weil da ja noch keine Daten vorhanden sind).
Topblocker ist offline   Mit Zitat antworten
Alt 02.07.2009, 20:56  
Benutzer
 
Registriert seit: 02.07.2009
Beiträge: 48
PHP-Kenntnisse:
Anfänger
Topblocker befindet sich auf einem aufstrebenden Ast
Standard

Edit: Wenn ich statt den variabeln einfach Werte reinschreibe, werden diese auch angezeigt, das funktioniert also schonmal.
Topblocker ist offline   Mit Zitat antworten
Alt 02.07.2009, 20:56  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Bitte den Ändern Button benuzten, statt ständig zu posten.

- 5 Felder, 3 Werte
Zitat:
(Platz, Profilbild, Spitzname, Geschlecht, Bilanz) VALUES('$profilbild','$spitzname','$gender')
- mysql_error
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 02.07.2009, 21:07  
Benutzer
 
Registriert seit: 02.07.2009
Beiträge: 48
PHP-Kenntnisse:
Anfänger
Topblocker befindet sich auf einem aufstrebenden Ast
Standard

Ok Entschuldigung.

Der erste Wert ist ein auto_increment und wird (soweit ich das verstanden habe?) automatisch mit 1,2,3... bestückt, wenn man nichts eingibt und in den letzten soll nichts eingetragen werden.

Aber ich kanns auch so machen:

PHP-Code:
$query="INSERT INTO Registrierung(Platz, Profilbild, Spitzname, Geschlecht, Bilanz) VALUES('3','$profilbild','$spitzname','$gender','2')"
Hier wird in Spalte 1 eine "3" und in Spalte 5 eine "2" eingetragen und die übrigen bleiben leer.


Das mit dem mysql_error hab ich nicht ganz verstanden, wo muss ich das hinschreiben?
Topblocker ist offline   Mit Zitat antworten
Alt 02.07.2009, 21:11  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

http://www.php.de/php-einsteiger/489...rundlagen.html
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 02.07.2009, 21:42  
Benutzer
 
Registriert seit: 02.07.2009
Beiträge: 48
PHP-Kenntnisse:
Anfänger
Topblocker befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
$query="INSERT INTO Registrierung(Platz, Profilbild, Spitzname, Geschlecht, Bilanz) VALUES('3','$profilbild','$spitzname','$gender','2')" or die(mysql_error()); 
So? Fehlermeldung kommt da allerdings nicht...
Topblocker ist offline   Mit Zitat antworten
Alt 02.07.2009, 21:50  
Erfahrener Benutzer
 
Registriert seit: 14.08.2008
Beiträge: 157
Hexe befindet sich auf einem aufstrebenden Ast
Standard

mysql_error muss nach mysql_query kommen.
Hexe ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
INSERT INTO Problem RomeD Datenbanken 13 02.05.2009 21:33
Insert into Problem mit Varchar Coldstorm PHP Tipps 2009 18 02.04.2009 23:27
Pathfinding Algorithmus optimieren? (Algorith. von Dijkstra) Martin13 PHP Tipps 2007 19 04.09.2007 19:20
INSERT INTO tab1 FROM tab2, aber! stefanjann Datenbanken 4 04.05.2006 15:11
Insert into macht Mucken ahertle Datenbanken 20 06.12.2005 11:44
problem bei INSERT INTO ... Marc PHP Tipps 2005-2 11 08.08.2005 14:14
mysql dump einspielen (ohne phpmyadmin) PHP Tipps 2005-2 6 18.06.2005 21:50
[Erledigt] fehler den ich noch nie gesehen habe Datenbanken 7 09.06.2005 14:29
dynamisches MENÜ aus db lesen.probleme mit SUBid !! PHP Tipps 2005 26 24.03.2005 18:53
[Erledigt] Insert into ROW per Loop - Hiiilllfeee ;-) Datenbanken 5 13.11.2004 11:19
[Erledigt] Problem mit INSERT INTO befehl Datenbanken 2 04.11.2004 16:03
Insert Problem Mano PHP Tipps 2004 4 30.10.2004 22:28
Zeile einfach überspringen bei Unique-Verletzung tapferesschneiderlein Datenbanken 6 03.09.2004 14:29
INSERT INTO werte einen Array PHP Tipps 2004 3 12.07.2004 20:33
[Erledigt] HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
insert into registrierung, spitzname geschlecht

Alle Zeitangaben in WEZ +1. Es ist jetzt 06:49 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum