3 Stimmen

wie kann man diese Abfrage zur Aktualisierung der Datenbank vereinfachen (php)

Wie kann ich diese Aktualisierungsanweisung vereinfachen? Jedes Mal, wenn ein Kunde einen Artikel kauft, wird der Umsatz mit 1 aktualisiert.

$this->db->query('SELECT amount FROM shop_items WHERE itemid='.$itemid.'');   
$new_amount = $item->amount+1;
    if(!$this->db->query('UPDATE shop_items SET amount='.$new_amount.' WHERE itemid='.$itemid.'')):
    return false;
    endif;

Kann ich es nicht einfacher machen, z. B. mit weniger Linien?

if(!$this->db->query('UPDATE shop_items SET amount=_current_value_+1 WHERE itemid='.$itemid.'')):
return false;
endif;

ist das möglich? wenn nicht, trotzdem danke

6voto

Pascal MARTIN Punkte 384469

Wie wäre es mit der folgenden SQL-Abfrage?

update shop_items
set amount = amount + 1
where itemid = 123

Im Grunde setzen Sie in einer einzigen SQL-Abfrage die amount auf den vorherigen Wert, plus eins.
Keine Notwendigkeit für zwei Abfragen ;-)

Wenn Sie dies in Ihren PHP-Code integrieren, sollten Sie etwas erhalten, das wie folgt aussieht:

if (!$this->db->query('UPDATE shop_items SET amount=amount+1 WHERE itemid='.$itemid.'')) :
    return false;
endif;

Anmerkung: Ich habe gerade Ihre _current_value_ nach dem Namen des Feldes, an dem Sie arbeiten: amount .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X