Zur Navigation

Daten ohne Bezug werden beim einspielen überschrieben

1 Thor

Hallo Jörg,

hänge mal wieder an einem Problem fest.

Das Update funktioniert wunderbar, nur gibt es noch weitere Artikel ohne einen Eintrag (Bezug) in "products_LfStatus". Bei diesen Artikel werden individuelle "Texte" in "products_bestand" eingetragen.
Lasse ich das Script laufen, werden alle Daten übertragen aber die ohne Bezug werden auch überschrieben (products_bestand). Was ich manuell eingetragen habe ist dann weg :-(

Kann man das über das PHP Script steuern?

while ($data = fgetcsv($handle, 1000, ";")) { 
    if ($i > 0) {
mysql_query("UPDATE products_description 
            SET products_bestand = '" . mysql_real_escape_string($data[7]) . "' 
            WHERE products_LfStatus = '" . mysql_real_escape_string($data[0]) . "'")
or die(mysql_error());
    }
    $i ++;
}
fclose ($handle);
mysql_close;


Gruß
Thorsten

02.09.2011 10:41 | geändert: 02.09.2011 10:48

2 Jörg

Das Update funktioniert wunderbar, nur gibt es noch weitere Artikel ohne einen Eintrag (Bezug) in "products_LfStatus".

Bedeutet "ohne einen Eintrag", dass in dem Datenfeld ein leerer String oder dass dort der SQL-Wert NULL gespeichert ist? (lässt sich gegebenenfalls mit phpMyAdmin einsehen)

02.09.2011 13:27 | geändert: 02.09.2011 13:28

3 Thor

genau,
Datenfeld --> products_LfStatus (leer) --> kein update oder überschreiben
Datenfeld --> products_LfStatus (eintrag) --> update und überschreiben

02.09.2011 14:15

4 Jörg

"leer" kann wie gesagt in SQL zweierlei bedeuten: ein leerer String oder der Wert NULL

Ich gehe jetzt mal davon aus, dass ersteres hier der Fall ist. Dann musst du in einer Zusatzbedingung der Update-Query ausschließen, dass products_LfStatus einen leeren String enthält:

mysql_query("UPDATE products_description 
            SET products_bestand = '" . mysql_real_escape_string($data[7]) . "' 
            WHERE products_LfStatus = '" . mysql_real_escape_string($data[0]) . "'
            AND products_LfStatus != ''")

02.09.2011 14:26

5 Thor

perfekt, und ich dachte schon aus meinem geschreibsel wird keiner schlau...

Dankeschön Jörg

Gruß
Thorsten

02.09.2011 15:06

Beitrag schreiben (als Gast)

Beim Verfassen des Beitrages bitte die Forenregeln beachten.





[BBCode-Hilfe]