====== Beispiel: Apfel-Datenbank ====== Dieses Beispiel soll einige wichtige Tätigkeiten im Zusammenhang mit PHP und MySQL demonstrieren. ===== (1) Startdatei ===== Apfelbeispiel

Webinterface für Online-Apfelshop


Bitte wählen Sie!
---- ===== (2) Bestellformular ===== Bitte geben Sie folgende Daten für Ihre Bestellung ein:

Vorname und Nachname

Strasse

PLZ und Ort

Apfelsorte:
Jonagold Gala Elstar

kg (Menge)

---- ===== (3) In die Datenbank schreiben ===== ' . $dbname . "->" . $tblname . ""; echo "
"; // -------------------------- if (isset($_POST["Senden"])) { echo "Schreibe neuen Eintrag...
"; // Formulardaten übernehmen $name = $_POST["name"]; $strasse = $_POST["strasse"]; $ort = $_POST["ort"]; $sorte = $_POST["sorte"]; $menge = $_POST["menge"]; try { // SQL-Anweisung mit Platzhaltern für sichere Datenübergabe $eintrag = "INSERT INTO bestellung (Name, Strasse, Ort, Sorte, Menge) VALUES (:name, :strasse, :ort, :sorte, :menge)"; // SQL-Anweisung vorbereiten $stmt = $db->prepare($eintrag); // Daten an die Platzhalter binden $stmt->bindParam(':name', $name); $stmt->bindParam(':strasse', $strasse); $stmt->bindParam(':ort', $ort); $stmt->bindParam(':sorte', $sorte); $stmt->bindParam(':menge', $menge); // Ausführen der SQL-Anweisung if ($stmt->execute()) { echo "Eintrag in der Datenbank wurde erfolgreich vorgenommen!
"; echo "

Folgende Angaben wurden gespeichert:

"; echo "$name
"; echo "$strasse
"; echo "$ort
"; echo "$menge kg $sorte
"; } else { echo "Es gab ein Problem beim Einfügen der Daten."; } } catch (PDOException $e) { die("SQL-Fehler: " . $e->getMessage()); } } // -------------------------- // Die Verbindung zur Datenbank muss nicht manuell geschlossen werden // PDO schließt die Verbindung automatisch am Ende des Skripts echo "
Verbindung beendet!"; // Weiteres Menü echo "
"; echo 'Verwaltungskonsole
'; ?>
* ''connect.inc.php'' findet sich [[:inf:mysql-php:connect.inc.php|hier]]. ---- ===== (4) Datenbank anzeigen ===== query($abfrage); // Anzahl der Datensätze ermitteln $dszahl = $stmt->rowCount(); echo ' - Ausgabe von ' . $dbname . "->" . $tblname . ""; echo "   Der Abfrage entsprechen $dszahl Datensätze!
"; // Tabelle öffnen echo ""; // Daten in der Tabelle ausgeben foreach ($stmt as $i => $row) { // Werte aus der Datenbank holen $name = $row['Name']; $strasse = $row['Strasse']; $ort = $row['Ort']; $sorte = $row['Sorte']; $menge = $row['Menge']; // Zeilenfarbe wechseln (Zebra-Streifen-Effekt) if ($i % 2 == 0) { echo ''; } else { echo ''; } // Daten in die Tabelle einfügen echo ""; echo ''; } // Tabelle schließen echo "
$name$strasse$ort$sorte$menge
"; } catch (PDOException $e) { // Fehlerbehandlung bei SQL-Abfragen echo "
Die SQL-Anweisung schlug fehl!
Fehler: " . $e->getMessage(); } // Verbindung muss nicht explizit geschlossen werden, PDO schließt sie automatisch echo "
Verbindung beendet!"; // Weiteres Menü echo "
"; echo 'Verwaltungskonsole
'; ?>
---- ===== (5) Datenbank editieren ===== $tblname möglich"; echo "
"; // Daten speichern if($_POST["speichern"]=="Speichern"){ $ID = $_POST['ID']; $name = $_POST['Name']; $strasse = $_POST['Strasse']; $ort = $_POST['Ort']; $sorte = $_POST['Sorte']; $menge = $_POST['Menge']; $abfrage = "UPDATE appleman.bestellung SET Name = '$name',Strasse = $strasse',Ort '$ort',Sorte = '$sorte',Menge = '$menge' WHERE bestellung.Name = '$ID'"; $sql = mysql_query($abfrage) or die("SQL-Fehler: ".mysql_error()); echo "Änderung erfolgreich übernommen

"; } // Daten aus Datenbank holen $abfrage = "SELECT * FROM $tblname"; $sql = mysql_query($abfrage) or die("SQL-Fehler: ".mysql_error()); $dsz = mysql_num_rows($sql); // Ausgabe der Daten echo ""; echo ""; for($i=0;$i<$dsz;$i++){ $name = mysql_result($sql,$i,"Name"); $strasse = mysql_result($sql,$i,"Strasse"); $ort = mysql_result($sql,$i,"Ort"); $sorte = mysql_result($sql,$i,"Sorte"); $menge = mysql_result($sql,$i,"Menge"); if($i%2==1){echo "";} else{echo "";} echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } echo "
NameStrasseOrtSorteMenge
$name$strasse$ort$sorte$menge
"; // Ändern ermöglichen if($_POST["Aendern"]=="Ändern"){ ?>

Daten eines Kunden ändern:
Geben Sie den Namen des Kunden ein um seine/ihre Daten zu ändern:
   Name:  
   
Verbindung beendet!"; echo "

Zurück"; ?>
===== (6) Löschen in Datenbank ===== $tblname möglich"; echo "
"; if($_POST["Loeschen"]=="Löschen"){ $ID=$_POST["ID"]; $abfrage = "DELETE FROM appleman.bestellung WHERE bestellung.Name = '$ID'"; $sql = mysql_query($abfrage) or die("SQL-Fehler: ".mysql_error()); } else{ ?>
Daten eines Kunden löschen: Geben Sie den Namen des Kunden ein um seine/ihre Daten zu löschen:
   Name:  
   

"; echo ""; for($i=0;$i<$dsz;$i++){ $name = mysql_result($sql,$i,"Name"); $strasse = mysql_result($sql,$i,"Straße"); $ort = mysql_result($sql,$i,"Ort"); $sorte = mysql_result($sql,$i,"Sorte"); $menge = mysql_result($sql,$i,"Menge"); if($i%2==1){echo "";} else{echo "";} echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } echo "
NameStraßeOrtSorteMenge
$name$strasse$ort$sorte$menge
"; // MySQL-Verbindung schließen mysql_close($db); echo "
Verbindung beendet!"; echo "

Zurück"; ?>
===== (7) Datenbank sortieren ===== $tblname möglich"; echo "
"; // Daten aus Datenbank holen $abfrage = "SELECT * FROM $tblname"; $sql = mysql_query($abfrage) or die("SQL-Fehler: ".mysql_error()); $dsz = mysql_num_rows($sql); // Ausgabe der Daten if($_POST["Sortieren"]=="Sortieren"){ $wahl = $_POST["wahl"]; $abfrage = "SELECT * FROM $tblname ORDER BY $wahl"; $sql = mysql_query($abfrage) or die("SQL-Fehler: ".mysql_error()); } ?>
"; echo ""; echo "NameStraßeOrtSorteMenge"; for($i=0;$i<$dsz;$i++){ $name = mysql_result($sql,$i,"Name"); $strasse = mysql_result($sql,$i,"Straße"); $ort = mysql_result($sql,$i,"Ort"); $sorte = mysql_result($sql,$i,"Sorte"); $menge = mysql_result($sql,$i,"Menge"); if($i%2==1){echo "";} else{echo "";} echo "$name"; echo "$strasse"; echo "$ort"; echo "$sorte"; echo "$menge"; echo ""; } echo ""; ?>
Verbindung beendet!"; echo "

Zurück"; ?>