<?
// auto_class.php
class Auto
{
// Ort und Name der CSV-Datei
private $autoFile="auto.csv";
// zweidimensionales Array $autoList für den gesamten Inhalt der CSV-Datei
private $autoList=array();
// eindimensionales Array $propList für die Namen der Eigenschaften/Felder (properties) der Tabelle
private $propList = array("id","marke","modell","motor","leistung","zulgesamtmasse","baujahr","vmax","zeit100");
// Die Methode auto_get_data_from_file() speichert den gesamten Inhalt der CSV-Datei
// in das zweidimensionale Array $autoList ein.
public function auto_get_data_from_file()
{
// Datei zum Lesen öffnen
$handle = fopen($this->autoFile, 'r');
// Datei zeilenweise auslesen, fgetcsv() verwenden
// jede Zeile in das eindimensionale Array $csv_array speichern
for ($i = 0;($csv_array = fgetcsv($handle)) !== false;$i++)
{
// alle Werte des eindimensionalen Array $csv_array in das
// zweidimensionales semi-assoziative Array $autoList speichern
for ($j = 0;$j < count($csv_array);$j++)
{
$this->autoList[$i][$this->propList[$j]] = $csv_array[$j];
}
}
// Datei schließen
fclose($handle);
}
// Die Methode auto_list() zeigt den Inhalt des zweidimensionalen Arrays $autoList tabellarisch an.
public function auto_list()
{
echo "<table><tr>";
/* Der Kopfbereich der Tabelle wird mit den Eigenschaften (properties) angezeigt.
Bei jedem Schleifendurchlauf wird der Name der Eigenschaft/des Feldes (property) der Tabelle
aus dem manuell festgelegten eindimensionen Array $propList angezeigt.
Die Variable $prop enthält bei jedem Schleifendurchlauf den aktuellen Feldnamen. */
foreach ($this->propList as $prop)
{
echo ("<th>".$prop."</th>");
}
echo "</tr>";
/* Der Inhalt der Tabelle wird aus dem zweidimensionalen Array $autoList angezeigt.
Bei jedem Schleifendurchlauf wird eine Zeile vollständig angezeigt.
Das eindimensionale assoziative Array $auto enthält bei jedem Schleifendurchlauf
den Inhalt der aktuellen Zeile. */
foreach ($this->autoList as $auto)
{
echo ("<tr>");
/* Bei jedem Schleifendurchlauf wird der Inhalt einer Eigenschaft/eines Feldes (property) der Tabelle
mit Hilfe des manuell festgelegten eindimensionen Arrays $propList angezeigt.
Die einfache Variable $prop enthält bei jedem Schleifendurchlauf den aktuellen Feldnamen */
foreach ($this->propList as $prop)
{
echo ("<td>".$auto[$prop]."</td>");
}
echo ("</tr>");
}
echo "</table>";
}
}
?>