Folien



(letzte Synchronisation der PDF-Präsentation: 02.03.2017)

Falls keine PDF-Präsentation zu sehen ist, klicken Sie zum Download hier: Direktdownload PDF-Präsentation

Um die Ergebnisse in Tabellenform zu bringen, benötigt man eine Schleife, um die benötigte Anzahl der Tabellenzeilen zu generieren. Wichtige Befehle sind hier (auf Grundlage einer Abfrage wie $ergebnis = mysql_query("SELECT * FROM kunden");):

PHP-Code
  mysql_num_fields($ergebnis)  

Gibt an, wie viel Felder eine Tabelle hat (also “Spalten”).

PHP-Code
  mysql_num_rows($ergebnis)  

Gibt an, wie viele Datensätze eine Tabelle hat (“Zeilen” bzw. “Reihen”).

PHP-Code
  mysql_field_name($ergebnis, Index)  

Gibt den Feldnamen zurück, abhängig vom Indexwert (0 gibt den ersten Feldnamen, 1 den zweiten usw.).

Listing: Datenbankabfrage in Tabellenform ausgeben

PHP-Code
  <?php require("include/config.inc.php"); // Verbindung zur DB herstellen und testen   // mySQL-Abfrage: $abfrage = "SELECT * FROM kunden"; $ergebnis = mysql_query($abfrage);   // Anzahl der Datensätze und Anzahl der Datenfelder bestimmen: $anzahl_datensaetze = mysql_num_rows($ergebnis); $anzahl_felder = mysql_num_fields($ergebnis);   // Tabelle beginnen echo "<table border = '1'>";   // Erste Zeile echo "<tr>";   // Schleife 1: Für jedes Feld wird eine th-Zelle erzeugt und der Name eingesetzt: for ($n = 0; $n < $anzahl_felder; $n++) { $feldname = mysql_field_name($ergebnis, $n); echo "<th>" . $feldname . "</th>\n"; } echo "</tr>";   // Schleife 2: Für jeden Datensatz wird ein foreach durchgeführt: while ($datensatz = mysql_fetch_assoc($ergebnis)) { echo "<tr>"; // Schleife 2-1: Für jeden Wert des Arrays wird eine Zelle erzeugt und der Wert des Arrays ausgegeben: foreach ($datensatz as $key => $value) { echo "<td>" . $value . "</td>\n"; } echo "</tr>\n"; } echo "</table>";   mysql_close($link); // Verbindung zur Datenbank beenden ?>  

Erläuterungen zum Listing:

  1. Schleife 1: Zählt von $n=0 bis $n=$anzahl_felder-1 und gibt jedes Mal mit mysql_field_name($ergebnis, $n) den Namen des Feldes aus (Feld 0, Feld 1 …). Wird jeweils in eine th-Zelle gepackt.
  2. Schleife 2: Zählt mit while die Anzahl der Datensätze durch und packt jeweils über mysql_fetch_assoc($ergebnis) den aktuellen Datensatz in das Array $datensatz[$key].
  3. Schleife 2-1: Das Array $datensatz wird mit einer foreach-Schleife durchlaufen und jeweils der Wert ausgegeben. Jede Ausgabe wird von einer Tabellenzelle umhüllt.