Aus gesundheitlichen Gründen kann ich diese Seite nicht weiterpflegen, aktualisieren oder euch Support für eure PHP-Probleme anbieten. PHP für dich bleibt aber in seiner aktuellen Form erhalten und funktioniert nach wie vor als Einstieg in die PHP-Welt - gerade, wenn dich technischere Anleitungen bisher immer davon abgehalten haben.
Mehr dazu...
Schnipsel
PHP und mySQL - Daten als Tabelle formatiert ausgeben
Als weitergehende Information zu
Daten ausgeben, hier eine kurze Erklärung, wie man Daten z. B. in einer Tabelle ausgeben kann. Wir gehen hier davon aus, dass wir bereits die Daten abgefragt und sie in der Variable
$ergebnis gespeichert haben.
Wir brauchen jetzt die
while-Schleife, in der die Daten über
mysqli_fetch_object übernommen werden und die so lange ausgeführt wird, bis alle Daten aus der DB ausgelesen wurden.
<?php
... diverser Code ...
while($row = mysqli_fetch_object($ergebnis))
{
echo $row->url;
echo "<br />";
echo $row->urlname;
echo "<br /><br />";
}
?>
Das liefert zunächst einfach nur die Url und den Urlnamen zurück, allerdings mit Zeilenumbrüchen (<br />) voneinander getrennt, also so:
http://www.schattenbaum.net
Schattenbaum
http://www.htmling.net
HTMLing
usw.
Zwischen jedem Eintrag ist also ein Absatz, der dadurch entsteht, dass am Ende jedes Durchgangs der while-Schleife - also am Ende jedes Datensatzes - ein doppeltes <br /> verwendet wird.
Ganz ähnlich gehen wir jetzt vor, wenn die Daten in eine Tabelle geschrieben werden sollen. Dabei müssen wir zuerst überlegen, welcher Teil der Tabelle für jeden Datensatz wiederholt werden muss bzw. welcher für jede Datenzelle wiederholt werden muss.
Da wir nicht für jeden Datensatz eine extra Tabelle, sondern nur eine extra Reihe aufrufen wollen, muss der Aufruf der
Tabelle außerhalb der while-Schleife stehen.
<?php
... diverser Code, Datenbank-Abfrage ...
echo "<table>";
while($row = mysqli_fetch_object($ergebnis))
{
echo "<tr>";
echo "<td>",$row->url,"</td>";
echo "<td>",$row->urlname,"</td>";
echo "</tr>";
}
echo "</table>";
?>
Jetzt wird alles in einer Tabelle ausgegeben, wobei für jeden Datensatz eine neue Tabellenzeile angelegt wird, weswegen die <tr> zwar
innerhalb der while-Schleife stehen aber nur am Anfang und am Ende der Schleife aufgerufen werden, im Gegensatz zu den <td>, die bei jeder Ausgabe eines Feldes angewandt werden.
In dem Fall wurde der HTML-Code direkt über Echos ausgegeben, interessant ist dabei vielleicht das Schema "<td>",$row-url,"".
Die Textteile werden dabei in Anführungszeichen gesetzt und durch Komma von den Variablen (hier $row->url) getrennt.
Eine 2. Variante wäre es natürlich, den HTML-Teil außerhalb des PHP-Codes zu schreiben und dabei auf Teile der Echos zu verzichten:
<?php
... diverser Code, Datenbank-Abfrage ...
?>
<table>
<?php
while($row = mysqli_fetch_object($ergebnis))
{
?>
<tr>
<td>
<?php
echo $row->url;
?>
</td>
<td>
<?php
echo $row->urlname;
?>
</td>
</tr>
<?php
}
?>
</table>
<?php
}
?>
Das ist jetzt ziemlich unübersichtlich, allerdings soll es auch nur die Möglichkeiten darstellen, die man hat. In der Praxis wird man in den meisten Fällen beide Varianten kombinieren und einen Teil außerhalb des PHP-Bereichs schreiben und den Rest per echo ausgeben.
Autor: Claudia Unkelbach