Skip to main content

Alles für die Homepage... Scripte, Templates, Workshops und Support

Datentabellen ausgeben

Oft kommt es vor das man einfache Datentabellen auf der Webseite ausgeben möchte, z.B. mit den Ergebnissen vom Fußball, mit Adressen und dergl. mehr. Mit dieser hier vorgestellen Funktion sind solche Aufgaben schell gelöst. Es wird nur eine Datensatzdatei erstellt, die Ausgabe übernimmt PHP…

Aus Datendatei alle Datensätze als Tabelle darstellen

1. Das PHP Script zur Erzeugung der Ausgabe

Hier zunächst das komplette Script mit Kommentaren

CODE:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

<title>Datentabellen ausgeben</title>

<style type="text/css">
body {
background-color: #f7f7f7;
font-family: Verdana, Arial;
font-size: 12px;
color: #000000;
}

.datatab {
border: 1px solid #c5c5c5;
}

.dth {
border: 1px solid #c5c5c5;
background-color: #c5cc6f;
font-weight: bold;
text-align: left;
}

.dta {
border: 1px solid #c5c5c5;
background-color: #f2f1db;
}
.dtb {
background-color: #eae8b9;
border: 1px solid #c5c5c5;
}

.dth, .dta, .dtb {
font-size: 12px;
padding: 3px;
}


</style>

</head>
<body>

<?php echo daten_tabelle(); ?>


</body>
</html>


<?php 
function daten_tabelle() {
// Datendatei in Array lesen
$daten        = file('daten.dat');
// Erste Zeile mit Tabellentitelbeschriftung in Array exploden 
$first_row    = explode('|', $daten[0]); 
// Anzahl der Arrayelemente bestimmen 
$anzahl        = count($first_row);
// Anzahl der Zeilen der gesamten Datei bestimmen 
$zeilen        = count($daten); 

// Generieren der Tabellen Titel Zeile
$tab_titel_row = ''; 
for($i = 0; $i< $anzahl; $i++) { 
$tab_titel_row .= "<th class=\"dth\">$first_row[$i]</td>"; 
} 

// Ausgabe des Tabellenanfangs und der oberhalb erzeugten Titelzeile
$datatable = '<table cellspacing="3" cellpadding="0" border="0" class="datatab">';  
$datatable .= '<tr>';  
$datatable .= $tab_titel_row; 
$datatable .= '</tr>'; 

// Start CSS class definieren
$cssclass = 'dta'; 

    // Alle Zeilen der Datensatzdatei unterhalb der
    // ersten Zeile durchlaufen, deshalb Startwert j = 1
    for($j = 1; $j < $zeilen; $j++) { 
    
    // fuer jede Zeile abwechseld eine andere CSS class zuweisen 
    $cssclass = $cssclass == 'dta' ? 'dtb' : 'dta'; 
    
    // Anfang Table Row
    $datatable .= '<tr>';
    
        // Datensatzzeilen mit explode in Array zerlegen 
        $rows     = explode('|', $daten[$j]); 
        // Ausgabe einer Zeile...
        for($t = 0;  $t < $anzahl;  $t++)  {  
        // Falls ein Zellwert leer, geschuetztes Leerzeichen einfuegen
        $rows[$t] = trim($rows[$t]) != '' ? $rows[$t] : '&nbsp;'; 
        $datatable .= '<td class="'.$cssclass.'">'.$rows[$t].'</td>';  
        }             
    // Table Row schliessen
    $datatable .=  '</tr>'; 
    } 
// Tabellenende ausgeben    
$datatable .= '</table>'; 

return $datatable;
}   
?>

 

Um mit dem Script nun die daten.dat auszugeben wird in der PHP Datei die function daten_tabelle aufgerufen

CODE:
<?php echo daten_tabelle(); ?>

Diese echo Ausgabe empfängt den returnwert der unterhalb notierten function und gibt den Inhalt aus.

Die Funktionsweise des Scriptes im Kurzüberblick

  1. Öffnen der Datendatei und einlesen in Array
  2. Erste Zeile der Datendatei mit Tabellentitelbeschriftung mitels explode als Array anlegen
  3. Anzahl der Arrayelemente bestimmen, daraus leitetsich dann die Spaltenanzahl der Ausgabetabelle ab.
  4. Anzahl der Zeilen der Datensatzdatei bestimmen, daraus leitet sich dann die Zeilenanzahl der Ausgabetabelle ab.
  5. Generieren der Tabellen Titel Zeile, hierfür wrden die Daten der ersten Zeile genutzt
  6. Ausgabe des Tabellenanfangs mit der generierten Titelzeile
  7. Nun folgt eine verschachtelte for Schleife die zum ersten die einzelnen Datensatzzeilen durchläuft, und innerhalb die Daten der Tabellenzellen ausgibt.
  8. Am Ende wird die Tabelle geschlossen und der gesamte Code vom return zurückgegeben

2. Die Datensatzdatei die vom Script verarbeitet werden soll

Diese Datei kann man z.B. als Textdatei anlegen, oder auch als CSV Export aus Excel erzeugen. Die Anzahl der Spalten spielt dabei keine Rolle, sind es 3 Daten pro Zeile, erzeugt das Script eine 3spaltige Tabelle, sind es 7 dann eine 7spaltige Tabelle. Hier im Beispiel wurde die Datei als daten.dat angelegt.

CODE:
Name|Vorname|Datum|Land|M/W|PLZ|TEL
Walter|Helmut|2004.02.02|Deutschland|M|12344|543276
Meyer|Lisa|2003.12.28|Deutschland|W|87654|887766
Müller|Maximilian|2002.05.22|Schweiz|M|54991|
Lehmann|Hubert|2002.11.01|Oesterreich|M|76543|0987654
Schulze|Stefanie|2004.01.04|Deutschland|W|87542|2234654 
Wolter|Willy|2002.06.09|Oesterreich|M|76531|54667
Thomas|Eva-Maria|2004.01.17|Schweiz|W|33491|99012
Schneyder|Jean|2001.09.04|Frankreich|M|12860|345999
Clerc|Pascale|2002.11.17|Frankreich|M|99854|908665
Benguerel|Sebastian|2003.08.10|Spanien|M|11233|43651
Carl|Johanna|2002.10.01|Deutschland|W|09765|1234998

3. Die Ausgabe des Scriptes als Screenshot

xx

Auf der nächsten Artikelseite wird dann die Ausgaberoutine noch erweitert, dann ist es möglich damit auch spezielle Felder des Datensatzes auszugeben.

Anzeige


Ähnliche Beiträge



Keine Kommentare vorhanden


Du hast eine Frage oder eine Meinung zum Artikel? Teile sie mit uns!

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *