2010-04-24 34 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 2010-04-24 13:59:01

+0

不客氣:-)玩得開心! – 2010-04-24 14:08:55