PHP – Assoziatives Array als HTML Tabelle ausgeben
Wenn man mal schnell die Daten aus einem 2-Dimenesionalen assoziativen Array als HTML Code ausgeben möchte, ist das in wenigen Minuten runter programmiert und nicht wirklich viel Arbeit. Allerdings habe ich das Gefühl, die gleiche Funktion schon so oft programmiert zu haben, dass ich einfach keine Lust mehr darauf habe. Daher habe ich nun den Code etwas verallgemeinert und in eine PHP Funktion gepackt. Mit dieser simplen Funktion kann man nun ein assoziatives Array als HTML Tabelle ausgeben ohne sich darüber Gedanken machen zu müssen. So kann man sich auf die Logik des Programms besser konzentrieren und ist nicht Abgelenkt von der eigentlichen Aufgabe.
Natürlich fehlen hier noch einige Tag-Attribute wie z.B. id, class, border, cellspacing, cellpadding, etc. aber da ich die Funktion nur für meine schnell mal runter programmierten Prototypen nutze, ist das für mich nicht so wichtig. Hier also der Code mit dem man ein 2-Dimenesionales assoziatives Array als HTML Code ausgeben kann.
function getArrayHTML ($data) { $th = 0; $tablehead = ""; $tablebody = ""; if (is_array ($data)) { foreach ($data as $entry) { $tablebody .= "<tr>"; foreach ($entry as $key => $value) { if ($th == 0) { $tablehead .= "<th>" . $key . "</th>"; } $tablebody .= "<td>" . $value . "</td>"; } $tablebody .= "</tr>"; $th = 1; } $table = "<table border=1><tr>" . $tablehead . "</tr>" . $tablebody . "</table>"; return $table; } }
Funktioniert wunderbar mit Daten, die man z.B. von der Funktion mysql_fetch_assoc zurückbekommen hat. Hier noch ein kurzes Beispiel, dass die Daten aus einem SQL Select Statement in das $data Array schreibt und dann mit der Methode getArrayHTML als Tabelle ausgibt.
<?php ... $data = array (); while ($row = mysql_fetch_assoc($result)) { $data[] = $row; } echo getArrayHTML ($data); ... ?>
So, das war schon alles. Fragen, Anregungen, Hinweise etc. sind wie immer Willkommen. Einfach einen Kommentar hinterlassen (aber den Cptcha Code “ganz unten” nicht vergessen ).
Weiterführende Themen:
One Response to “PHP – Assoziatives Array als HTML Tabelle ausgeben”
Webseiten Hermeskeil
Ich hätte momentan nur eine Anregung…änder bei Code die Schriftart . Das Gleichheitszeichen sieht aus, wie ein fettes Minus ^^.
Januar 22nd, 2012 at 15:50