Beispiel: Apfel-Datenbank
Dieses Beispiel soll einige wichtige Tätigkeiten im Zusammenhang mit PHP und MySQL demonstrieren.
(1) Startdatei
<html> <head> <title>Apfelbeispiel</title> </head> <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000"> <h1>Webinterface für Online-Apfelshop</h1> <hr> <ul> <li><a href="apfeldb_bestellformular.html">Bestellformular</a></li> <li><a href="apfeldb_anzeige.php">Bestellungen anzeigen</a></li> <li><a href="apfeldb_aendern.php">Bestellungen ändern</a></li> </ul> Bitte wählen Sie! </body> </html>
(2) Bestellformular
<html> <body> Bitte geben Sie folgende Daten für Ihre Bestellung ein: <form action = "apfeldb_schreiben.php" method = "post"> <p><input size="20" name="name"> Vorname und Nachname</p> <p><input size="20" name="strasse"> Strasse</p> <p><input size="20" name="ort"> PLZ und Ort</p> Apfelsorte:<br> <input type="radio" name="sorte" value="Jonagold">Jonagold <input type="radio" name="sorte" value="Gala">Gala <input type="radio" name="sorte" value="Elstar">Elstar <p><input size="10" name="menge"> kg (Menge)</p> <input type="submit" name="Senden" value="Absenden"> <input type="reset"> </form> </body> </html>
(3) In die Datenbank schreiben
<?php //apfeldb_schreiben.php //Mysql-Verbindung aufbauen: error_reporting(E_ALL); include("connect.inc.php"); $tblname = "bestellung"; echo ' - Schreiben in <font color="#FF0000">'.$dbname."->".$tblname."</font>"; echo "<hr>"; // -------------------------- if ($_POST["Senden"]) {echo "Schreibe neuen Eintrag...<br />"; $name = $_POST["name"]; $strasse = $_POST["strasse"]; $ort = $_POST["ort"]; $sorte = $_POST["sorte"]; $menge = $_POST["menge"]; $eintrag = "INSERT INTO bestellung (Name,Strasse,Ort,Sorte,Menge) VALUES('$name','$strasse','$ort','$sorte','$menge')"; $sql = mysql_query($eintrag) or die("SQL-Fehler: ".mysql_error()); if ($sql) {echo "Eintrag in der Datenbank wurde erfolgreich vorgenommen!<br>"; echo "<p>Folgende Angaben wurden gespeichert</p>"; echo "$name<br>"; echo "$strasse<br>"; echo "$ort<br>"; echo "$menge kg $sorte<br>"; } } // -------------------------- //Schließen der Datenbank; mysql_close($db); echo "<br> Verbindung beendet!"; // Weiteres Menü echo "<hr>"; echo '<a href="start.html">Verwaltungskonsole</a><br>'; ?>
(4) Datenbank anzeigen
<?php //ausgabe.php //Mysql-Verbindung aufbauen: error_reporting(E_ALL); include("connect.inc.php"); $tblname = "bestellung"; $abfrage = "select * from bestellung;"; $result = mysql_query($abfrage); if($result) {echo ' - Ausgabe von <font color="#FF0000">'.$dbname."->".$tblname."</font>"; $num=mysql_num_rows($result); echo " Der Abfrage entsprechen $num Datensätze!<hr>"; } else echo "<br>Die SQL-Anweisung schlug fehl! <br>Fehler: " .mysql_error(); // Ausgabe durch Umwandlung in ein Array // Der Datenfeldname kann nach mysql_fetch_array() als Index verwendet werden /* while ($dsfeld = mysql_fetch_array($result)) {echo $dsfeld["Name"].", " .$dsfeld["Strasse"].", " .$dsfeld["Ort"].", " .$dsfeld["Sorte"].", " .$dsfeld["Menge"]."<br>"; } */ // Ausgabe mittel mysql_result() echo "<table>"; for ($i=0;$i<$num;$i++) {$name = mysql_result($result,$i,"Name"); // $name = mysql_result($result,$i,0); // i.Datensatz - 1.Datenfeld $strasse = mysql_result($result,$i,"Strasse"); $ort = mysql_result($result,$i,"Ort"); $sorte = mysql_result($result,$i,"Sorte"); $menge = mysql_result($result,$i,"Menge"); if ($i%2==0) echo '<tr bgcolor="lightgrey">'; else echo '<tr bgcolor="white">'; echo "<td>$name</td><td>$strasse</td><td>$ort</td><td>$sorte</td><td>$menge</td>"; echo '</tr>'; } echo "</table>"; //Schließen der Datenbank; mysql_close($db); echo "<br> Verbindung beendet!"; // Weiteres Menü echo "<hr>"; echo '<a href="start.html">Verwaltungskonsole</a><br>'; ?>
(5) Datenbank editieren
<?php //apfeldb_aendern.php //Mysql-Verbindung aufbauen: error_reporting(E_ALL); include("connect.inc.php"); $tblname = "bestellung"; echo ' - Ändern in <font color="#FF0000">'.$dbname."->".$tblname."</font>"; echo "<hr>"; ?> <?php if (isset($_POST["Aendern"])) {$id=$_POST["Id"]; $abfrage="SELECT * FROM bestellung WHERE Id=$id;"; $resultat=mysql_query($abfrage); $name = mysql_result($resultat,0,"Name"); $ort = mysql_result($resultat,0,"Ort"); $strasse = mysql_result($resultat,0,"Strasse"); $sorte = mysql_result($resultat,0,"Sorte"); $menge = mysql_result($resultat,0,"Menge"); // echo "$name $ort $strasse $sorte $menge"; echo "<pre>"; echo "<br>Bearbeiten des Kunden mit der Kundennummer: $id"; echo "<form action='aenderung_schreiben.php' method='POST'>"; echo "<input type='hidden' name='id' value='$id'>"; // verstecktes Feld! echo "Name <input type='Text' name='name' value='$name'><br>"; echo "Strasse <input type='Text' name='strasse' value='$strasse'><br>"; echo "Ort <input type='Text' name='ort' value='$ort'><br>"; echo "Sorte <input type='Text' name='sorte' value='$sorte'><br>"; echo "Menge <input type='Text' name='menge' value='$menge'><br>"; echo "<br><input type='Reset' value='Zurücksetzen'>"; echo "<input type='Submit' name='Absenden' value='Änderung absenden'>"; echo "</pre>"; echo "</form>"; } ?> <br><b>Daten eines Kunden ändern:</b> <hr> Geben Sie die Id des Kunden ein um seine/ihre Daten zu ändern:<br> <form action="apfeldb_aendern.php" method="POST"> <pre> Id: <input type="Text" name="Id" size="3"> <input type="Submit" name="Aendern" value="Ändern"> </pre> </form> <?php //Schließen der Datenbank; mysql_close($db); echo "<br> Verbindung beendet!"; // Weiteres Menü echo "<hr>"; echo '<a href="start.html">Verwaltungskonsole</a><br>'; ?>
(6) Anderung schreiben
<?php //aenderung_schreiben.php //Mysql-Verbindung aufbauen: error_reporting(E_ALL); include("connect.inc.php"); $tblname = "bestellung"; echo ' - Ändern in <font color="#FF0000">'.$dbname.'->'.$tblname.'</font>'; echo "<hr>"; // -------------------------- if ($_POST["Absenden"]) {echo "Schreibe Änderung ...<br />"; $id = $_POST["id"]; $name = $_POST["name"]; $strasse = $_POST["strasse"]; $ort = $_POST["ort"]; $sorte = $_POST["sorte"]; $menge = $_POST["menge"]; $eintrag = "UPDATE bestellung SET Name='$name',Strasse='$strasse',Ort='$ort',Sorte='$sorte',Menge='$menge' WHERE Id=$id;"; $sql = mysql_query($eintrag) or die("SQL-Fehler: ".mysql_error()); if ($sql) {echo "Änderung in der Datenbank wurde erfolgreich vorgenommen!<br>"; echo "<p>Folgende Angaben wurden gespeichert</p>"; echo "$name<br>"; echo "$strasse<br>"; echo "$ort<br>"; echo "$menge kg $sorte<br>"; } } // -------------------------- //Schließen der Datenbank; mysql_close($db); echo "<br> Verbindung beendet!"; // Weiteres Menü echo "<hr>"; echo '<a href="start.html">Verwaltungskonsole</a><br>'; ?>
(8) Aus Datenbank löschen
<?php include("config.inc.php"); if (isset($_POST["submit"])) { print_r($_POST); foreach($_POST as $name) //geht das Array $_POST durch und löscht die zuvor angehakten Datensätze { $abfrage="DELETE FROM $tabelle WHERE id=$name;"; $result=mysql_query($abfrage); } } $abfrage="SELECT * FROM $tabelle ORDER BY id;"; $result=mysql_query($abfrage); $num=mysql_num_rows($result); echo "Der Abfrage entsprechen $num Datensätze."; //Ausgabe mit Checkboxen... ?> <form action="db_appelmann_loeschen.php" method="POST"> <table> <?php for ($i=0;$i<$num;$i++) { $id=mysql_result($result,$i,0); //i-ter Datensatz, 0. Spalte $name=mysql_result($result,$i,1); $strasse=mysql_result($result,$i,2); $ort=mysql_result($result,$i,3); $sorte=mysql_result($result,$i,4); $menge=mysql_result($result,$i,5); if($i%2==0) echo "<tr bgcolor=lightgrey>"; else echo "<tr bgcolor=lightgreen>"; echo "<td><input type='checkbox' name='$id' value='$id'></td><td>$id</td> <td>$name</td> <td>$strasse</td> <td>$ort</td> <td> $sorte</td> <td> $menge</td>"; echo "</tr>"; } echo "</table>"; mysql_close($verbindung); ?> <input type="Submit" name="submit" value="Löschen"> </form>
(7) Datensätze suchen
<html> <head> <title>Datensätze suchen</title> <meta name="author" content="user"> </head> <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000"> <?php include("config.inc.php"); if (isset($_POST["Absenden"])) { $name=$_POST["name"]; $abfrage="SELECT * FROM $tabelle WHERE name LIKE '%$name%';"; $result=mysql_query($abfrage); if($result) { $anzahl=mysql_num_rows($result); echo "<br>Es wurden $anzahl Datensatz/sätze gefunden<br>"; // Ausgabe mittels mysql_result() echo "<table>"; for ($i=0;$i<$anzahl;$i++) { $id=mysql_result($result,$i,0); //i-ter Datensatz, 0. Spalte $name=mysql_result($result,$i,1); $strasse=mysql_result($result,$i,2); $ort=mysql_result($result,$i,3); $sorte=mysql_result($result,$i,4); $menge=mysql_result($result,$i,5); if($i%2==0) echo "<tr bgcolor=lightgrey>"; else echo "<tr bgcolor=lightgreen>"; echo "<td>$id</td> <td>$name</td> <td>$strasse</td> <td>$ort</td> <td> $sorte</td> <td> $menge</td>"; echo "</tr>"; } echo "</table>"; } } ?> <hr> <b>Bestellung suchen</b> <form action="db_appelmann_suchen.php" method="POST"> Name... <input type="Text" name="name"> <input type="Submit" name="Absenden" value="Bestellungen suchen"> <input type="reset"> </form> <?php mysql_close($verbindung); ?> <a href="start.html">start.html</a> </body> </html>