Habe folgendes Problem, ich möchte gern aus einer externen CSV Datei die Daten auslesen. In der CSV stehen die Daten wie folgt aufgelistet:
4638263;50.99;60.99;33;1;
1612033;85.47;95.47;96;1;
1593308;259.25;269.25;12;1;
Die Daten welche in eine Tabelle übermittelt werden sollen sind durch Semikolon getrennt, Artikelnummer;Einkaufspreis;Verkaufspreis;Lagerbestand;On o. Offline.
Den Script für das auslesen und schreiben sowie verändern der Daten habe ich schon, nur das dass verändern so seine probleme macht. Und zwar soll der Script prüfen ob hinter dem 3 Semikolon eine 0 oder eine andere Zahl steht wenn eine 0 da steht dann soll er hinter dem 4 Semikolon auch eine 0 machen, was auch super klappt.
So und jetzt das eigentliche Problem. Ich hätte gern das zur der IF Variable eine ELSE IF hinzukommt, welche prüft ob hinter dem 3 Semikolon eine 0 oder eine höhere Zahl steht also größer als >0 und wenn da eine Zahl höher als 0 steht dann soll er hinter dem 4 Semikolon eine 1 machen.
An der ELSE IF Variable habe ich mich auch schon versucht und diese würde auch funktionieren wenn ich für den ersten vergleichswert eine feste Zahl hätte aber es soll ja eine x beliebige Zahl sein Hauptsache größer als 0.
Hier mal der Script
Hab auch bei der ELSE IF Variable schon versucht einen dritten String ($var > 0,) unter zubekommen aber da macht !strcmp wegen der parameter nicht mit und selbst wenn dann hätte ich ne undefinierte Variable.
Hoffe ihr könnt mir helfen!!
4638263;50.99;60.99;33;1;
1612033;85.47;95.47;96;1;
1593308;259.25;269.25;12;1;
Die Daten welche in eine Tabelle übermittelt werden sollen sind durch Semikolon getrennt, Artikelnummer;Einkaufspreis;Verkaufspreis;Lagerbestand;On o. Offline.
Den Script für das auslesen und schreiben sowie verändern der Daten habe ich schon, nur das dass verändern so seine probleme macht. Und zwar soll der Script prüfen ob hinter dem 3 Semikolon eine 0 oder eine andere Zahl steht wenn eine 0 da steht dann soll er hinter dem 4 Semikolon auch eine 0 machen, was auch super klappt.
So und jetzt das eigentliche Problem. Ich hätte gern das zur der IF Variable eine ELSE IF hinzukommt, welche prüft ob hinter dem 3 Semikolon eine 0 oder eine höhere Zahl steht also größer als >0 und wenn da eine Zahl höher als 0 steht dann soll er hinter dem 4 Semikolon eine 1 machen.
An der ELSE IF Variable habe ich mich auch schon versucht und diese würde auch funktionieren wenn ich für den ersten vergleichswert eine feste Zahl hätte aber es soll ja eine x beliebige Zahl sein Hauptsache größer als 0.
Hier mal der Script
PHP-Code:
$daten = file('update.csv');
$fp = fopen('update.csv', 'w');
foreach ($daten as $zeile){
$felder = explode(';', $zeile);
if (!strcmp($felder[3], '0'))
$felder[4] = '0';
else if (!strcmp ( $felder[3], '0')){
$felder[4] = '1';
$zeile = implode(';', $felder); }
fwrite($fp, $zeile); }
fclose($fp);
Hoffe ihr könnt mir helfen!!
Kommentar