| |

Ausgabe der Daten in einer Liste
Nach der Verbindung mit der Datenbank wie im letzten Beispiel erfolgt im php-Block
eine SQL-Anfrage, die alle Datensätze zurückgibt:
$query = "SELECT * FROM sache,person,fund
WHERE (sache.snr = fund.snr)
and (fund.pnr = person.pnr)";
Der "join" (sache.snr = fund.snr) and (fund.pnr = person.pnr) verhindert,
dass jedes Element von "sache" mit jedem Element von "person" verknüpft wird, es
werden nur die in der Relation "fund" verbundenen Datensätze ausgegeben.
$result = mysql_query($query);
$num = mysql_Num_Rows($result);
?>
mysql_query() sendet die Abfrage an die Datenbank,
in $result werden die Ergebnisse der SQL-Abfrage
zeilenweise als assoziative Arrays gespeichert,
indiziert mit den Attributbezeichnugen der Tabellen.
Um auch eine Zählschleife verwenden zu können wird die Zahl der Ergebniszeilen mit
mysql_Num_Rows() abgefragt und $num zugewiesen. So kann man das
Layout der Ausgabe der Zahl der Ergebnisse anpassen, wie es später beim Suchen
gezeigt wird. Hier ist diese Zeile nur ein Hinweis auf die Einsatzmöglichkeit.
Nun wird der Tabellenkopf ausgegeben:
<!-- Tabellenkopf -->
<table width="100%" border="1" cellpadding="6">
<tr><b>
<th><b>Bezeichnung</b></th>
<th><b>Fundort</b></th>
<th><b>Datum</b></th>
<th><b>Name</b></th>
<th><b>Vorname</b></th>
<th><b>Telefon</b></th>
<th><b>email</b></th>
</tr>
Das Ergebnis der Anfrage $result kann aus mehreren Datensätzen
bestehen, bei jedem Aufruf von mysql_fetch_array($result) wird der
jeweils nächste Eintrag ausgelesen und als assoziatives Array zur Verfügung
gestellt. Hier dienen ebenfalls die Attributbezeichnungen als Index. Der
Punkt "." dient als Zeichenkettenverknüpfung.
<?php
while ($dataset = mysql_fetch_array($result))
{
print "<tr>";
print "<td>".$dataset['bezeichnung']."</td>";
print "<td>".$dataset['fundort']."</td>";
print "<td>".$dataset['datum']."</td>";
print "<td>".$dataset['name']."</td>";
print "<td>".$dataset['vorname']."</td>";
print "<td>".$dataset['tel']."</td>";
print "<td>".$dataset['email']."</td>";
print "</tr>\n";
}
?>
Nun muss die Tabelle noch geschlossen werden und man kann die mysql-Verbindung
schließen.
<!-- Tabelle beenden -->
</table>
<?php
mysql_close();
?>
|
|