| |
Teil 3 Datensätze in Datenbank einfügen
Datensatz Online per Form einfügen:
<html>
<body>
<?
if ($submit) {
$db = mysql_connect("127.0.0.1", "root");
mysql_select_db("flohmarkt",$db);
$sql = "INSERT INTO eintraege (name,vorname,email,datum,eintrag,preis,goa) VALUES ('$name','$vorname','$email','$datum','$eintrag','$preis','$goa')";
$result = mysql_query($sql,$db);
echo "Datensatz erfolgreich aktualisiert!<br><br>";
}
?>
<form method="post" action="<? echo $PHP_SELF ?>">
Name: <input type="text" name="name" value="<? echo $name ?>" size="20"><br>
Vorname: <input type="text" name="vorname" value="<? echo $vorname ?>" size="20"><br>
Email: <input type="text" name="email" value="<? echo $email ?>" size="20"><br>
Eintrag: <textarea name="eintrag" value="<? echo $eintrag ?>" wrap="physical" cols="60" rows="10"></textarea><br>
Preis: <input type="text" name="preis" value="<? echo $preis ?>" size="10"><br>
Angebot oder Gesuch: <select name="goa" size="1">
<option value="0">Angebot
<option value="1">Gesuch
</select><br>
<input type="hidden" name="datum" value="<? $dat=date("Y-m-d H:m:s");echo $dat; ?>">
<input type="submit" name="submit" value="Eintragen!">
</form>
</body>
</html>
Nun haben wir ein schönes Eingabeformular gebastelt, was auch noch hervorragend mit unserer Datenbank kommunizieren kann. Schauen wir es uns mal genauer an:
Der HTML-Teil:
Hier haben wir eine FORM erstellt, die onSubmit die Variable $submit auf true setzt und die als ACTION die aufrufende Datei enthält ($PHP_SELF). D.h. die Eingabedaten werden von der gleichen Datei verarbeitet. Das Skript erkennt anhand der Variablen $submit, ob schon Eingaben vorliegen oder nicht. Wie die Variablen-Übergabe bei Formularen funktioniert, setze ich als bekannt voraus, ansonsten kurz hier nachschauen.
Nun werden mittels INSERT INTO -Anweisung die Daten in die Datenbank eingegeben. Die ID Nummer muss nicht eingetragen werden, da diese sich ja automatisch immer um eins erhöht. Die Angebot/Gesuch Abfrage kann natürlich auch per Checkbox-Abfrage gemacht werden.
Eine kleine Besonderheit ist vielleicht, wie das Datum gesetzt wird. PHP verfügt über Zeitfunktionen, und diese werden hier genutzt, um das aktuelle Datum Datenbankkonform zu setzen.
Die Variablen aus der FORM werden nun onSubmit wieder an die aufrufende Datei gesendet, d.h. jetzt kommen wir zum PHP-Skript Teil. Dort kommt uns ja schon alles sehr bekannt vor, einzig neue Zeile:
$sql = "INSERT INTO eintraege (name,vorname,email,datum,eintrag,preis,goa) VALUES ('$name','$vorname','$email','$datum','$eintrag','$preis','$goa')";
Der MySQL-Query wird nun in der Variablen $sql gespeichert (der Einfachheit halber). Eigentlich ist die INSERT INTO-Funktion selbsterklärend.
Syntax: INSERT INTO tabelle (bezeichner,bezeichner, ... , bezeichner) VALUES ($var1,$var2,...,$var3).
D.h. zu jedem Bezeichner in den ersten Klammern gibt es eine variable aus der FORM als Wert
(VALUE).
|