Interessierte
Hallo alle zusammen,
steh mal wieder auf den Schlauch. Ich habe hier eine csv-Datei, welche täglich über eine Maschine gefüllt wird. Ich lese diese Datei per PHP-Script dann aus und stelle diese mit einem Tabellendesign ins Netz.
Das klappt auch alles, aber nun möchte ich die Summe aller Zahlen, welche in der 2. Reihe stehen (1. Reihe steht das Datum) addieren. mit array_sum erhalte ich nur Fehlermeldungen.
Bin für jeden Tipp dankbar.
steh mal wieder auf den Schlauch. Ich habe hier eine csv-Datei, welche täglich über eine Maschine gefüllt wird. Ich lese diese Datei per PHP-Script dann aus und stelle diese mit einem Tabellendesign ins Netz.
Das klappt auch alles, aber nun möchte ich die Summe aller Zahlen, welche in der 2. Reihe stehen (1. Reihe steht das Datum) addieren. mit array_sum erhalte ich nur Fehlermeldungen.
Code:
#$datei = "csv/counter.csv"; //Datei zu öffnen
$id = fopen($datei, "r"); //Datei öffnen
while ($data = fgetcsv($id, filesize($datei),";")) //Starte Schleife
$table[] = $data; //Jede Zeile wird in ein Array geschrieben
$ArrayLength = count($table);
fclose($id); //Schließt Datei
echo "<br /><table border=\"0\" cellspacing=\"0\" width=\"550\" class=\"tabelle\">";
echo "<tr bgcolor=\"#00ae00\"><th width=\"150\">Tag / Zeit - abgelesen</th><th>Wert</th><th> </th><th> </th><th> </th></tr><tr>";
for ($i = 0; $i < $ArrayLength; $i++){
echo "<th align=\"center\" width=\"150\">";
echo ( $table[$i][0] );
echo "</th>";
echo "<td width=\"10\">";
echo ( $table[$i][1] );
echo "</td>";
echo "<td width=\"20\"> </td>";
// Gesamtzahl aller Werte
$gesamt = $table[$i][1];
// Höchstlänge der Balken angeben
$laenge = 300;
// Anteil von Balken 1 (Indexwert 0!)
$laenge0 = $table[$i][1] * $laenge / $gesamt;
// Werte auf ganze Zahlen runden
$laenge0 = round($laenge0);
echo "<td width=\"340\"><img src=\"img/wertung.gif\" width=\"$laenge0;\" height=\"5\" alt=\"\" border=\"0\" /></td>";
echo "<td width=\"30\"><span class=braun>von ";
echo "array_sum($gesamt)";
echo "</span></td>";
echo "</tr>";
}
echo "</table><br />";
Bin für jeden Tipp dankbar.