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 :-) ).



Michael Jentsch

Michael Jentsch arbeitet seit 2006 bei der Itellium Services GmbH als Entwickler und Software Architekt. Er ist spezialisiert auf Java basierte Web-Applikationen und E-Commerce. Neben dem Beruf interessiert er sich auch für Suchmaschinenoptimierung und ist engagiert in vielen Open Source Projekten im Web Umfeld. Sie erreichen ihn per E-Mail unter [email protected].

More Posts

Weiterführende Themen:

  1. Google APIs & Developer Products – January 2011
  2. PHP Array in Datei speichern
  3. SQL-Plus DESCRIBE
  4. Thumbshots Technik
  5. WordPress XML-RPC Ping-Dienst