In der Entwicklung möchte man öfters Daten aus einer Mysql Tabelle ohne großen Programmieraufwand ausgeben. Dieses Php 5 Skript gibt eine beliebige Tabelle komplett mit Sortierfunktion aus. Sie müssen dabei nur die Datenbankverbindung, den Datenbanknamen und den Tabellennamen angeben.

Zweck

Ausgeben einer Datenbanktabelle in HTML Tabellenform.

Sie müssen nur die Datenbankverbindung, den Datenbanknamen und den Tabellennamen angeben. Den Rest erledigt das Programm.

Das mühsame schreiben von HTML Struktur und angeben von Spaltennamen entfällt zur Gänze!

mysqltabelle

Verwendung

Das PHP Script kann auf einem Webserver mit PHP und Mysql ausgeführt werden. Durch direkten Aufruf dieser Datei werden die Daten aus der Datenbank ausgelesen und in einer sortierbaren HTML Tabelle angezeigt.

Tauschen Sie für die Verwendung einfach folgende Strings mit Ihren Daten aus:

  • TABELLENNAME
  • localhost (bleibt meistens gleich)
  • BENUTZER (Datenbankbenutzer)
  • PASSWORT (Datenbankbenutzerpasswort)
  • DATENBANKNAME

PHP Code


<?php

 /*********************************/
 /**** (c) Andreas Grundner *******/
 /** Automatische Tabellenausgabe**/
 /******** mit PHP/Mysql **********/
 /****@autor: Andreas Grundner ****/

 /** Tabellenname definieren**/
 define(TABLENAME, "TABELLENNAME");

 /** Datenbankverbindung definieren**/
 $con = mysql_connect("localhost","BENUTZER","PASSWORT");
 if (!$con)die('Keine Verbindung zur Datenbank' . mysql_error());

 mysql_select_db("DATENBANKNAME") or die("Datenbank nicht vorhanden");

 /** Ab hier Copyright geschützt **/

 echo "<table border='1'><tr>";

 $sortBy = (isset($_GET["sortBy"])) ? $_GET["sortBy"] : mysql_field_name(mysql_query("SELECT * FROM " . TABLENAME), 0);
 $direction = (isset($_GET["direction"])) ? $_GET["direction"] : "ASC";

 $sql = "SELECT * FROM " . TABLENAME .  " ORDER BY " . $sortBy . " " . $direction;
 $query = mysql_query($sql);
 $feldcontainer = array();

 /** Spaltenüberschriften **/
 echo "<tr>";

 for($i = 0; @$feld = mysql_field_name($query, $i); $i++):

 echo "<td align='center'><strong>" . $feld . " <a href='?sortBy=$feld&direction=ASC'>&uarr;</a> &nbsp; <a href='?sortBy=$feld&direction=DESC'>&darr;</a>" . "</strong></td>";

 $feldcontainer[$i] = $feld;

 endfor;

 echo "</tr>";

 /** Zeilen **/

if(mysql_num_rows($query)):

 while($row = mysql_fetch_object($query)):

 echo "<tr>";

 foreach($feldcontainer AS $key => $value):

 /** $key und nächstes if werden nur für die Spaltenfarbe benötigt **/

 if($key % 2 == null): $col = "#EEFDC1"; else: $col = "#EEEEFF"; endif;

 echo "<td bgcolor='$col'>" . $row->$value . "</td>";

 endforeach;

 echo "</tr>";

 endwhile;

else: echo "<tr><td colspan='" . count($feldcontainer) ."'>Es befinden sich keine Eintr&auml;ge in der Datenbank</td></tr>";

endif;
?>