Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: массовое удаление строк в таблице Mysql
Форумы портала PHP.SU » PHP » Программирование на PHP » массовое удаление строк в таблице Mysql

Страниц (1): [1]
 

1. Prettynim - 29 Января, 2010 - 19:41:56 - перейти к сообщению
Подскажите, пожалуйста, как организовать удаление сразу нескольких строк в бд. У меня есть список, который формируется запросом из таблицы бд, необходимо напротив каждой записи сделать checkbox, соответсвенно если есть галочки напротив разных записей, их необходимо удалить. Однако а я не знаю как передать сразу несколько значений для удаления.Помогите, я только начинаю изучать php. Закатив глазки хотябы логику объясните.
2. Мелкий - 29 Января, 2010 - 20:09:32 - перейти к сообщению
В параметрах name для всех checkbox'ов пишете одно имя приписываете квадратные скобки, в value - id записи, например:
PHP:
скопировать код в буфер обмена
  1. echo '<input type="checkbox" name="box[]" value="'.$id.'">'; //id вставляется из базы по запросу

А в обработчике появится массив $_POST['box'], значениями которого будут отмеченные галочками id номера записей. Затем его можно пробежать foreach'ом и собрать запрос на удаление записей с такими id
3. Prettynim - 29 Января, 2010 - 20:15:34 - перейти к сообщению
Спасибо большое, буду работать, надеюсь получится.
4. E-Pro - 29 Января, 2010 - 23:15:06 - перейти к сообщению
А может лучше удалить как:
PHP:
скопировать код в буфер обмена
  1. $box = $_POST['box'];
  2. mysql_query("DELETE FROM `table` WHERE `id` IN (".implode(',', $box).")");

 

Powered by ExBB FM 1.0 RC1