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
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как удалить запись из БД через PHP?
Покинул форум
Сообщений всего: 70
Дата рег-ции: Февр. 2013 Откуда: UA Donbass
Помог: 0 раз(а)
Здорова всем. Столкнулся с проблемой.
Задача такая…
В БД имеется несколько таблиц. Нужно на страницу прикрутить выпадающий список, в котором можно выбрать конкретную таблицу из БД. После того, как мы выбрали таблицу, на странице должно отобразится всё её содержимое. Напротив каждой извлечённой записи, должна быть кнополька, которая позволит удалить эту запись. После того, как мы удалили какую-нибудь запись, всё содержимое таблицы должно по новому вытащиться и отобразится на странице.
Что я сделал…
Выпадающий список, выбор и отображение содержимого таблиц. Отправка запроса на удаление записи в конкретной таблице, но результата нет, т.к. запись не удаляется. Записи, повторно вытаскиваются из таблицы.
Что у меня не получается…
После выбора и отображения содержимого какой-то таблицы, я клацаю на «удалить запись», пинается PHPшка, которая удаляет и повторно вытаскивает записи – в итоге, запись не удаляется, но таблица повторно вытаскивается.
Вывод: коряво написан код на удаление записи. Если не затруднит, не могли бы кто-нибудь поправит мой код.
Покинул форум
Сообщений всего: 70
Дата рег-ции: Февр. 2013 Откуда: UA Donbass
Помог: 0 раз(а)
sKaa, спасибо, удаляет.
Но теперь выяснилось, что id на удаление в delete.php, отправляется не то, которое нужно, а всегда отправляется id самой первой записи что выведено на страницу (побоку через что выводить и сортировать). И получается, что какую бы запись я не хотел удалить, удаляется самая первая запись на странице. При разборке уже полностью сформированной страницы с записями, я вижу, что каждой записи правильно присвоено своё id из базы и имя таблицы. Значит, js скрипт, который отвечает за отправку значений с id и именем таблицы в delete.php, шлёт чего-то не то в него. Через firebug в мазиле, я вижу содержание этого запроса, и имя таблицы он правильно шлёт, а вот id - неправильно. Корявый какой-то этот js скрипт, только вот что мне с ним сделать...?
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
Korsand пишет:
только вот что мне с ним сделать...?
вопрос ООООчень странный
непонятно как на него отвечать
вернее понятно
ответ-исправлять
непонятно для чего он задан
Korsand
Отправлено: 24 Марта, 2013 - 20:45:06
Гость
Покинул форум
Сообщений всего: 70
Дата рег-ции: Февр. 2013 Откуда: UA Donbass
Помог: 0 раз(а)
LIME пишет:
ответ-исправлять
Но как?
Щас сделал отдельно страничку, без выпадающего списка с выбором таблицы. Просто, открываем страницу и загружаются записи из указанной таблицы. Результат тот же, удаляется самая первая запись, хотя удалял пятую или десятую. Вот код:
index.html
вобщем убирайте оттуда атрибут id используйте класс и по соседним элементам DOM'а находите этот инпут и доставайте из него данные, а вообще раз у вас и так функция вызывается, просто в коде задавайте параметр в эту функцию
Покинул форум
Сообщений всего: 70
Дата рег-ции: Февр. 2013 Откуда: UA Donbass
Помог: 0 раз(а)
Ооо, с одной переменной работает, спасибо Panoptik!
Ну это если с учётом того, что имя таблицы заранее вбито в delete.php. Поэтому, достаточно передать только одну переменную с id. А как мне передать две переменные? У меня ж изначально можно было выбрать, содержание какой таблицы посмотреть (подгрузить) и в дальнейшем удалить в ней чего-нибудь. Т.е. в delete.php мне нужно отправить имя таблицы и id.
Сделал какую-то фиготень, и она естественно не работает. Но на большее у меня ума не хватило.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.