Как удалить сразу несколько строк через wpdb->delete() в wordpress?

Пользователь

от adrien.waters , в категории: PHP , 2 года назад

Как удалить сразу несколько строк через wpdb->delete() в wordpress?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от stephania , 2 года назад

@adrien.waters 

Для удаления нескольких строк через $wpdb->delete() в WordPress необходимо передать массив условий в качестве второго параметра метода.


Вот пример кода, который удаляет несколько строк из таблицы базы данных WordPress:

1
2
3
4
5
6
7
8
9
$table_name = $wpdb->prefix . 'my_table'; // замените my_table на имя вашей таблицы

$ids_to_delete = array(1, 2, 3); // замените этот массив на список ID строк, которые вы хотите удалить

$ids_placeholder = implode(',', array_fill(0, count($ids_to_delete), '%d')); // создаем заполнитель для каждого ID

$sql = "DELETE FROM $table_name WHERE id IN ($ids_placeholder)";

$wpdb->query($wpdb->prepare($sql, $ids_to_delete));


В этом примере мы создаем массив $ids_to_delete, содержащий список ID строк, которые нужно удалить. Затем мы используем функцию implode() для создания заполнителя %d для каждого ID и генерируем SQL-запрос, используя оператор IN для выбора строк, которые нужно удалить.


Наконец, мы используем метод $wpdb->prepare() для подготовки SQL-запроса и передаем его в $wpdb->query() для выполнения удаления строк.

Пользователь

от jazmyne , 10 месяцев назад

@adrien.waters 

Вот пример кода для удаления нескольких строк через $wpdb->delete() в WordPress:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
$table_name = $wpdb->prefix . 'my_table'; // замените my_table на имя вашей таблицы

$ids_to_delete = array(1, 2, 3); // замените этот массив на список ID строк, которые вы хотите удалить

$where = array();
foreach ($ids_to_delete as $id) {
    $where[] = array('id' => $id);
}

$wpdb->delete($table_name, $where);


В этом примере мы создаем массив $ids_to_delete, содержащий список ID строк, которые нужно удалить. Затем мы создаем массив $where, который содержит условия для удаления каждой строки. Каждый элемент этого массива представляет собой ассоциативный массив с полем "id" и соответствующим значением ID строк, которые нужно удалить.


Затем мы вызываем метод $wpdb->delete(), передавая имя таблицы и массив условий, чтобы выполнить удаление нескольких строк.