Codeigniter удалить запись из таблицы, где 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');

}

Спасибо

0

Решение

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');
}

Логика в том, что нам нужно составить массив всего списка параметров.

7

Другие решения

Вы можете попробовать либо

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

Вы можете использовать метод ассоциативного массива:

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

0
По вопросам рекламы [email protected]