Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2011, 20:40   #1
Tvv7-7-7
Пользователь
 
Аватар для Tvv7-7-7
 
Регистрация: 18.06.2007
Сообщений: 26
По умолчанию Как удалить выбранные строки в Mysql

Здравствуйте! подскажите пожалуйста как мне удалить выбранные с помощью INPUT TYPE=checkbox строки в таблице (по нажатию кнопки "обновить данные")...таблица состоит из двух столбцов и N строк....я рисую третий столбец с checkboxами имена им даю согласно первому столбцу ID... т. е. n1...и так далее...см. рисунок снизу...подскажите как организовать удаление выбранных строк? или может есть способ проще? решаю на php.
Tvv7-7-7 вне форума Ответить с цитированием
Старый 21.01.2011, 20:46   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Код:
DELETE ... WHERE ID IN...
motorway вне форума Ответить с цитированием
Старый 21.01.2011, 20:59   #3
Abuhamed
Форумчанин
 
Аватар для Abuhamed
 
Регистрация: 27.01.2010
Сообщений: 330
По умолчанию

Ну всё просто. Если у вас выводит конкретное число записей(к примеру 20) то делаем вот так.
PHP код:
for($c=1;$c<21;$c++){
  
$delete="n".$c;
  if(isset(
$_POST["$delete"])){       //Проверяем, выбрал ли пользователь эту запись
      
$id=$_POST["$delete"]; // берем ИД записи из таблицы который вы должны записывать в value в чекбоксе.
      
mysql_query("DELETE FROM table_name WHERE id='$id';");
  }


Последний раз редактировалось Abuhamed; 21.01.2011 в 21:03.
Abuhamed вне форума Ответить с цитированием
Старый 21.01.2011, 21:18   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Abuhamed Посмотреть сообщение
Ну всё просто. Если у вас выводит конкретное число записей(к примеру 20) то делаем вот так.
.... и выполняем 20(!!!) запросов DELETE вместо одного,как предложил motorway..?
Браво..!!!

Tvv7-7-7:
Соберите все чекбоксы в один массив(т.е. name="delete[<?=$id;?>]").
Затем в обработчике пройдите по этому массиву(если он не пустой),и соберите выбранные ID в строку(разделённые запятыми).
Затем выполните 1 запрос на удаление так,как вам показал motorway, поместив созданную строку в конструкцию IN ('$your_string').
Andkorol вне форума Ответить с цитированием
Старый 21.01.2011, 22:09   #5
Tvv7-7-7
Пользователь
 
Аватар для Tvv7-7-7
 
Регистрация: 18.06.2007
Сообщений: 26
По умолчанию

спасибо )))
а есчё подскажите пожулайста пишу
PHP код:
if (isset($n11))    
mysql_query("DELETE FROM Kafedry WHERE Kafedry_ID='11';"); 
но почему то не удалает строку с индексом 11, хотя http://pit.ru/SK.php?n11=on. если пишу без
PHP код:
if (isset($n11)) 
то удаляет....в чем ошибка не пойму
Tvv7-7-7 вне форума Ответить с цитированием
Старый 21.01.2011, 22:16   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Значит не выполняется условие if.
Откуда берётся ваше $n11 ?
Andkorol вне форума Ответить с цитированием
Старый 21.01.2011, 22:20   #7
Tvv7-7-7
Пользователь
 
Аватар для Tvv7-7-7
 
Регистрация: 18.06.2007
Сообщений: 26
По умолчанию

извините за беспокойство....нашёл косяк..
PHP код:
if (isset($_GET['n18'])) 
mysql_query("DELETE FROM Kafedry WHERE Kafedry_ID='18';"); 
...просто я ооочень сильный новичок в этом деле...поэтому такие стрёмные ошибки
Tvv7-7-7 вне форума Ответить с цитированием
Старый 21.01.2011, 22:24   #8
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Все так начинают - на чужих ошибках не научишся...

Совет: выделите неделю-две - и прочитайте полностью одну книгу по PHP 2009-2010г.
90% проблем сможете решать самостоятельно (да они как-то и возникать перестанут).
Andkorol вне форума Ответить с цитированием
Старый 21.01.2011, 22:50   #9
Tvv7-7-7
Пользователь
 
Аватар для Tvv7-7-7
 
Регистрация: 18.06.2007
Сообщений: 26
По умолчанию

Спасибо!...
Tvv7-7-7 вне форума Ответить с цитированием
Старый 21.01.2011, 23:01   #10
Tvv7-7-7
Пользователь
 
Аватар для Tvv7-7-7
 
Регистрация: 18.06.2007
Сообщений: 26
По умолчанию

а подскажите пожалуйста как из переменной, например $n25 извлеч вот это число 25? и возможно ли это?
Tvv7-7-7 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удалить выбранные в listview элементы Человек_Борща Общие вопросы Delphi 3 07.01.2011 12:27
Как удалить лишние пробелы из строки? MyLastHit Общие вопросы Delphi 26 11.08.2010 21:44
Как удалить строки и столбцы в массиве ЛесенОК Свободное общение 1 31.01.2009 18:35
Как удалить из строки подстроку по маске ? - fenix - Помощь студентам 4 23.04.2008 15:04
Как удалить слово из строки? Ellita Общие вопросы C/C++ 7 19.09.2007 15:43