Hallo,
ich möchte gerne eine Funktion schreiben, die mir aus einer beliebigen MySQL-Abfrage eine dynamische Tabelle mit Überschriften generiert.
Dazu habe ich bisher folgendes:
Das funktioniert vom Prinzip her auch, aber leider unterschlägt es mir dabei den ersten Datensatz.
Wahrscheinlich muss ich innerhalb der while-Schleife testen, ob es sich um den ersten Datensatz handelt, und dann zusätzlich mit array_keys() die Spaltentitel ausgeben, aber leider komm ich gerade nicht drauf, wie ich das machen könnte.
Weiss jemand Rat?
Danke,
maeck
ich möchte gerne eine Funktion schreiben, die mir aus einer beliebigen MySQL-Abfrage eine dynamische Tabelle mit Überschriften generiert.
Dazu habe ich bisher folgendes:
PHP-Code:
function generateTable($sql){
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
//Ausgabe Tabellenheader
echo'<table align="left" cellspacing="0" cellpadding="3" id="anmlist"><thead><tr class="listborder">';
// Ausgabe Tabellenüberschriften
foreach (array_keys($row) as $key) {
echo"<th class=\"listborder\">$key</th>";
}
echo'</tr></thead><tbody><tr>';
// Ausgabe Tabelleninhalt
while ($row = mysql_fetch_assoc($result)) {
foreach ($row as $value) {
echo"<td class=\"listborder\">$value</td>";
}
echo'</tr>';
}
echo'</tbody></table>';
}
Wahrscheinlich muss ich innerhalb der while-Schleife testen, ob es sich um den ersten Datensatz handelt, und dann zusätzlich mit array_keys() die Spaltentitel ausgeben, aber leider komm ich gerade nicht drauf, wie ich das machen könnte.
Weiss jemand Rat?
Danke,
maeck
Kommentar