Csv importieren in PHP als Tabelle mit Schaltflächen

  • Themenstarter Themenstarter drosan
  • Beginndatum Beginndatum
D

drosan

Hallo,
ich möchte folgendes machen.
Ich habe eine csv Datei mit folgender Synthax. "name","vorname","nummer","online","offline"

z.B.

"otto","hans","234","2001-01-17 00:00:00",NULL
"otto","hans","234","2001-01-17 00:00:00",NULL

Ich brauch nun ein Script, welches das ganze als Tabelle ausgibt, aber immer pro Zeile eins. Außerdem soll am Ende der Zeile immer eine Grafik erscheinen.

Mein bisheriger Versuch sieht so aus, aber irgendwie weiß ich jetzt absolut nicht weiter.

PHP:
<?php
$csvFile = "test2.csv";
$fileArray = file($csvFile);

$array1 = explode(";",$fileArray[0]);
$array2 = explode(";",$fileArray[1]);

if(count($array1) >= count($array2)) { $maxrows = count($array1); }
else { $maxrows = count($array2); }

echo "<table>\n";

for($i=0;$i<$maxrows;$i++) {
  if($array1[$i] == "" || !isset($array1[$i])) {
    $array1[$i] = "&nbsp;";
  }
  if($array2[$i] == "" || !isset($array2[$i])) {
    $array2[$i] = "&nbsp;";
  }

  echo "\t<tr><td>".$array1[$i]."</td><td>".$array2[$i]."</td></tr>\n";
}
echo "</table>";  

?>


Kann mir da jemand weiterhelfen?
 
Die CSV Datei öffnen, dann mittels einer while Schliefe jede einzelne Zeile in ein Array schreiben.

$fileArray[0] = ZEILE 1
$fileArray[1] = ZEILE 2

Anzahl der ArrayUnterpunkte ermitteln mit count($fileArray);

Dann einfach eine FOR-Schleife basteln!

PHP:
echo("<tables>");
for($i=0;$i<count($fileArray);$i++) {
    
    $array = explode(",",$fileArray[$i]); // oder Semikolon 
    echo("<tr>");
    for($j=0;$j<count($array);$j++){
        echo("<td>");
        echo($array[$j]);
        echo("</td>");
    }
    echo("<tr>");
    //unset($array);
}
echo ("</table>");
 
Zuletzt bearbeitet:
Hi,

lies die Datei doch mit [phpf]fgetcsv[/phpf] zeilenweise in ein Array. Schau Dir mal das Beispiel dazu an, das musst Du nur noch ein wenig anpassen.

LG
 
Zurück