2010-04-24 1 views
3

Как я могу упростить эту инструкцию по обновлению? Всякий раз, когда клиент покупает деталь будет обновлять продажи с 1.Как упростить этот запрос обновления базы данных (php)

$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; 

я не могу сделать его более простым, так есть меньше строк, например:

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

это возможно? если не все равно спасибо

ответ

6

Что об использовании следующий SQL-запрос:

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

В основном, только в одном SQL запросе, вы установите amount к предыдущему значению оно было, плюс один.
Нет необходимости в двух запросов ;-)


Интеграция это в PHP код не должен дать вам то, что выглядит следующим образом:

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

Примечание: Я только что заменил ваш _current_value_ именем из поле, над которым вы работаете: amount.

+0

Огромное спасибо: D Я знал, что должен быть более простой способ. – Christophe

+0

Добро пожаловать :-) Удачи! –