Nicht sicher, wie das zu fragen, aber ich habe eine Datenbank von Produkten und deren Preisen. Der Preis besteht aus 3 Spalten (aktueller Preis, Rabattpreis, vorheriger Preis).PHP Mysql Feld Wert basierend auf einem anderen Feld Wert
Ich benutze fgetcsv(), um ein CSV neue Datensätze lesen dann die Mysqli Abfrage unten um neue Datensätze zu meiner Datenbank einzufügen oder zu aktualisieren:
$query = "INSERT INTO products (prodname,currprice,prevprice,discprice) VALUES ('$EachRow[0]','$EachRow[1]','$EachRow[2]','$EachRow[3]') ON DUPLICATE KEY UPDATE currprice='$EachRow[1]';";
Das Problem für bestehende Produkte. Ich möchte nur ihren aktuellen Preis aktualisieren, wenn ihr Preis sich von dem aktuellen Preis unterscheidet, und um sie zu aktualisieren, muss der neue Preis verwendet werden. Ich war etwas in mysqli Hoffnung, wie
"UPDATE IF $EachRow[1]<>currprice SET prevprice=currprice,currprice='$EachRow[1]'"
Grundsätzlich für bestehende Datensätze, wenn der aktuelle Preis hat sich geändert, ich möchte den vorherigen currprice als prevprice aufgezeichnet, bevor currprice auf die neue $ EachRow Aktualisierung [1].
Gibt es eine Möglichkeit, dies zu erreichen? Können wir IF-Anweisungen in der mysqli-Abfrage erstellen?
ist '>' das Recht und die einzige Betreiber für 'nicht gleich zu "in diesen Fällen? – jay
AFAIK alle Betreiber werden arbeiten –
Das ist genial! Vielen Dank. – jay