2017-08-04 21 views
0

我有一個數據庫,用戶可以製作多個頁面,如下圖所示。 enter image description hereCodeigniter從表中刪除記錄where page_id和user_id

我正在使用codeigniter MVC,我想讓用戶刪除他們的頁面。

因此,如果page_id = 1正在通過user_id =1進行刪除,則只應刪除表中user_id = 1和page_id = 1的行。

這裏是我的model_page.php代碼,但迄今爲止所有的user_id 1頁被刪除

function delete_user_page($user_id, $page_id){ 

    $query = $this->db->where('user_id', $user_id and 'page_id', $page_id); 
    return $this->db->delete('mysql_table'); 

}  

感謝

回答

5
function delete_user_page($user_id, $page_id){ 
    $cond = ['user_id' => $user_id, 'page_id' => $page_id]; 
    $query = $this->db->where($cond); 
    return $this->db->delete('mysql_table'); 
} 

邏輯是,我們需要讓所有的參數列表的數組。

+0

這是完美的!很好的練習非常乾淨!感謝Naveed – mark

+0

@ mark:welcome。 –

+0

@mark如果有幫助,請接受爲答案 –

0

您可以使用關聯數組方法::

function delete_user_page($user_id, $page_id) 
{ 
    $where_cond = ['user_id' => $user_id, 'page_id' => $page_id]; 
    return $this->db->delete('mysql_table', $where_cond); 
} 
// DELETE FROM mysql_table WHERE user_id = $id AND page_id = $page_id 

尋找特定數據: https://www.codeigniter.com/userguide3/database/query_builder.html#looking-for-specific-data

刪除數據: https://www.codeigniter.com/userguide3/database/query_builder.html#deleting-data

1

您可以嘗試要麼

$sql = "DELETE FROM mysql_table WHERE user_id = ? AND page_id = ?"; 
$this->db->query($sql, array($user_id, $page_id)); 

$this->db->delete('mysql_table', array('user_id' => $user_id,'page_id' => $user_id));