我在codeigniter應用程序中有一個模型,每當用戶單擊一個按鈕時,都會爲該條目添加一個點。使用php增加數據庫值
點數作爲字段存儲在我的數據庫的「Items」表中。 points int(11)
。數據庫中的點設置爲默認值0。
,增加了1的值到的points
在表中一個項目的當前值的代碼如下所示:
public function add_point($id, $current)
{
$data = array(
'points' => $current+1,
);
$this->db->where('item_id', $id);
$this->db->update('Items', $data);
}
這僅適用第一次添加的點。當我單擊該按鈕時,當項目上的當前點爲0(默認值)時,它將添加該點,並且數據庫顯示從0更改爲1的值。但是,當我再次嘗試並單擊按鈕時,它應該添加並更新從1到2的值,但不添加該點。
獲取當前值,並將它傳遞給我的模型的代碼是在我的控制器:
$getq=$this->upload_model->get_item($item_id);
foreach ($getq as $item) {
$item['points'];
}
$this->upload_model->add_points($item_id,$item['points']);
但是它會隨時更新從0到1,和只添加這一點。
不知道我在做什麼錯。我該如何解決這個問題,以便每次單擊該按鈕時數據庫中的當前值增加1。
添加獲取$當前值的代碼。 –
在這個函數中運行select查詢並獲得id的最大值,然後在表中添加maxvalue + 1 –
@kumar_v請參閱上文。此代碼獲取項目的數據的罰款,我在我的應用程序中的其他地方使用它,但是,在函數add_points中使用時,它只能從0更新到1 – Tester