Hallo zusammen,
ich arbeite momentan an einem Skript, welches eine CSV-Datei (genauer einen Speiseplan) ausgeben soll. Die eigentlich Ausgabe inkl. Tabelle ist mir bereits gelungen, allerdings hat die CSV-Datei folgendes Problem: sie enthält Einträge, die sich in Teilen überschneiden, ein Beispiel zum Verständnis:
Ort1 Datum1 Essen1
Ort2 Datum1 Essen1
Ort3 Datum1 Essen1
Ich möchte dann natürlich nicht für ein Gericht 3 Zeilen ausgeben, sondern wiefolgt:
Ort1,2,3 Datum1 Essen1
Meine Überlegung wäre jetzt, die gesamte CSV zeilenweise einzulesen und dann jeweils vor der Ausgabe einer jeden Tabellen-Zeile das gesamte Array zu prüfen. Ist die Überlegung so richtig? Und was wäre ein möglicher Ansatz?
Hier der Code zum bisherigen Skript:
Vielen Dank!
ich arbeite momentan an einem Skript, welches eine CSV-Datei (genauer einen Speiseplan) ausgeben soll. Die eigentlich Ausgabe inkl. Tabelle ist mir bereits gelungen, allerdings hat die CSV-Datei folgendes Problem: sie enthält Einträge, die sich in Teilen überschneiden, ein Beispiel zum Verständnis:
Ort1 Datum1 Essen1
Ort2 Datum1 Essen1
Ort3 Datum1 Essen1
Ich möchte dann natürlich nicht für ein Gericht 3 Zeilen ausgeben, sondern wiefolgt:
Ort1,2,3 Datum1 Essen1
Meine Überlegung wäre jetzt, die gesamte CSV zeilenweise einzulesen und dann jeweils vor der Ausgabe einer jeden Tabellen-Zeile das gesamte Array zu prüfen. Ist die Überlegung so richtig? Und was wäre ein möglicher Ansatz?
Hier der Code zum bisherigen Skript:
PHP-Code:
<?php
print <<< HERE
<table class="table-fill">
<thead>
<tr>
<th class="text-left">Nr.</th>
<th class="text-left">Datum</th>
<th class="text-left">Einrichtung</th>
<th class="text-left">Menü</th>
<th class="text-left">Preis Studierende</th>
<th class="text-left">Preis Gäste</th>
</tr>
</thead>
HERE;
$data = file("speiseplan.csv");
$i = 1;
foreach ($data as $line){
$lineArray = explode(";", $line);
list($proddatum, $prodid, $ortid, $frei3, $ausgabeneu, $ausgabe2, $preiss, $preisb, $preisg, $kennz, $allergene) = $lineArray;
if ($ortid != "340") {
if ($ausgabeneu != '"leer"') {
// print <<< HERE
echo <<<END
<tr>
<td class="text-left"><center>$i</center></td>
<td class="text-left">$proddatum</td>
<td class="text-left">
END;
if ($ortid == "1" ){
echo "Ort1";
}
elseif ($ortid == "3") {
echo "Mensa Ort3";
}
else {
echo $ortid;
}
echo <<<END2
</td>
<td class="text-left" width="60%">$ausgabeneu</td>
<td class="text-left"><center>$preiss</center></td>
<td class="text-left"><center>$preisg</center></td>
</tr>
END2;
$i ++;
//HERE;
} // end foreach
}
}
//print the bottom of the table
print "</table> \n";
?>
Vielen Dank!

Kommentar