![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| LexzCQ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 19.11.2014 Репутация: нет Всего: нет |
Приветствую.
Решил разобраться с PHP и MySQL и в процессе у меня возникла такая проблема - нужно удалить строку по нажатию кнопки в выведенной через HTML таблице. Поэтому вопрос - как это можно сделать. На всякий случай вот код:
|
|||
|
||||
| _zorn_ |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1076 Регистрация: 21.8.2007 Репутация: нет Всего: 12 |
Во первых, в запросе будет как edit_button так и delete_button (они в одной форме). Во вторых неизвестно на какой строке кнопка нажата. Ну и в третих в $_GET всегда будет 'array'
Решение в лоб - на каждую строку по две формы с hidden полями. Общую форму убрать.
Ну а для дебага/понимания юзай
Еще у вас возможно опечатка в idClintes |
||||
|
|||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 3 Всего: 137 |
_zorn_, странное какое-то расположение тегов формы. Почему бы не оборачивать их внутри строчки таблицы?
|
|||
|
||||
| LexzCQ |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 19.11.2014 Репутация: нет Всего: нет |
Всё равно не работает, ругается в этой части кода
на delete_row в первой строке и само собой ничего не удаляет, а print_r($_GET); почему-то показывает на if (isset($_GET['delete'])), а именно на delete, но это же всего лишь название кнопки которая передаёт скрипту команду на выполнение или я чего-то упустил? |
||||||||
|
|||||||||
| Aliance |
|
||||||||||||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 3 Всего: 137 |
1. MySQL уже давно deprecated, переходите на PDO.
2. Зачем писать так:
когда можно так:
3. Как я уже написал выше, зачем писать
когда можно и нужно писать так:
По хорошему конечно сделать 3 разных скрипта: один основной, который печатает таблицу, 2 для редактирования и 3 для удаления (указав их урлы в теге формы в атрибуте action), но можно и так. 4. И далее, меня терзают смутные сомнения, что ваш скрипт выглядит примерно так:
Тогда как он должен выглядеть примерно так:
Потому как выводить html даже в случае редактирования/удаления не стоит сразу, а стоит сделать редирект на самого себя без get параметров, чтобы избежать повторного выполнения операции по F5. 5. Не стоит использовать GET для операций редактирования/удаления, для этого есть POST/DELETE. 6. Про MVC/ООП я конечно же промолчу Добавлено через 1 минуту и 47 секунд и как ругается-то? тут же не экстрасенсы, приводите цитаты ошибок. кроме того, в самом начале (ан 2 строчке например) можно написать, как вам уже посоветовали, что-то типа:
и наглядно увидеть что приходит. |
||||||||||||||
|
|||||||||||||||
| _zorn_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1076 Регистрация: 21.8.2007 Репутация: нет Всего: 12 |
||||
|
||||
| LexzCQ |
|
||||||||||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 19.11.2014 Репутация: нет Всего: нет |
Спасибо, заработало. Проблема была в том, что я использовал два цикла if, вместо того что бы использовать конструкцию if... elseif. Поменял и всё заработало, теперь нужно разобраться почему не хочет работать UPDATE запрос. |
||||||||||||||||||
|
|||||||||||||||||||
![]()
|
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |