Fragenfrager
Erfahrenes Mitglied
Hallo liebes Forum,
ich habe heute zu lange auf den Code geschaut und zu oft neu probiert, so dass ich nun Ideen von außen brauche:
Gegeben ist eine Liste im csv-Format.
Diese beinhaltet die Werte "GRG1400001"-"GRG1499999".
In dieser Liste sind einige der Werte doppelt vorhanden, andere fehlen.
Es soll nun eine Liste erstellt werden, in der alle Werte aufsteigend sortiert vorhanden sind (ist schon in der csv gegeben). In der Spalte daneben soll stehen, ob der Wert vorhanden, doppelt vorhanden oder garnicht vorhanden ist.
Ich lese also die Datei ein und lasse sie zeilenweise ausgeben. Parallel läuft eine temporäre Variable mit, um ggf. fehlende Werte mit ausgeben zu lassen. Leider funktioniert das nicht, wenn mal ein oder zwei Werte nicht vorhanden sind.
Hat jemand eine einfachere Lösung? Ich sehe den Code vor lauter Buchstaben nicht mehr.
ich habe heute zu lange auf den Code geschaut und zu oft neu probiert, so dass ich nun Ideen von außen brauche:
Gegeben ist eine Liste im csv-Format.
Diese beinhaltet die Werte "GRG1400001"-"GRG1499999".
In dieser Liste sind einige der Werte doppelt vorhanden, andere fehlen.
Es soll nun eine Liste erstellt werden, in der alle Werte aufsteigend sortiert vorhanden sind (ist schon in der csv gegeben). In der Spalte daneben soll stehen, ob der Wert vorhanden, doppelt vorhanden oder garnicht vorhanden ist.
Ich lese also die Datei ein und lasse sie zeilenweise ausgeben. Parallel läuft eine temporäre Variable mit, um ggf. fehlende Werte mit ausgeben zu lassen. Leider funktioniert das nicht, wenn mal ein oder zwei Werte nicht vorhanden sind.
Hat jemand eine einfachere Lösung? Ich sehe den Code vor lauter Buchstaben nicht mehr.
PHP:
$tmp = 1;
echo "<table><tr><td>Rechnung</td><td>Status</td></tr>";
if (($handle = fopen("ggr.csv", "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 99999, ",")) !== FALSE)
{
$dummy=intval(substr($data[0],5)); // nur Werte vergleichen, nicht Chars
switch ($dummy)
{
case ($tmp==$dummy):
echo "<tr><td>$data[0]</td><td>iO</td></tr>";
$tmp++;
break;
case ($tmp>$dummy): // doppelt
echo "<tr><td>$data[0]</td><td>doppelt</td</tr>";
break;
case ($tmp<$dummy): // fehlt
$tmp2=str_pad($tmp, 5 ,'0', STR_PAD_LEFT); //mit Nullen auffüllen
echo "<tr><td>GGR14".$tmp2."</td><td>fehlt</td></tr>";
$tmp++;
break;
default:
break;
}
}
}
echo "</table>";
fclose($handle);
?>