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 :: Удаление строки из таблицы БД нажатием на кнопку. [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
born
Отправлено: 10 Августа, 2010 - 02:42:21
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




смотрел, в html с айдишниками все правильно, выводятся с увеличением в аттрибут value как и в базе.
Где в моей логике ошибка: нажимаю на одну из кнопок, происходит отправка данных на сервер, у сервера создается глобальный массив $_POST['delid'],а так как все hidden поля у нас с одним именем, то он как бы поочереди переприсвоит все значения этого параметра и останется с последним
 
 Top
JustUserR
Отправлено: 10 Августа, 2010 - 02:52:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




born пишет:
Где в моей логике ошибка: нажимаю на одну из кнопок, происходит отправка данных на сервер, у сервера создается глобальный массив $_POST['delid'],а так как все hidden поля у нас с одним именем, то он как бы поочереди переприсвоит все значения этого параметра и останется с последним
Если у вас имеется множество независимых HTML-форм состоящих только из скрытого поле с заданным значениием идентификатора и кнопкой подачи запроса - но при нажатии на нее будет осуществляться передача только одного текущего значения из скрытого поле - поскольку элементы всех форм независимы между собой Если же у вас имеется одна общая HTML-форма то можно несколько модифицировать вашу схему - а именно выводить набор submit-кнопок с разными шаблонными value-значениями - которые будут передаваться PHP-скрипту и она основе которых он будет получать идентификатор для удаления


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
born
Отправлено: 10 Августа, 2010 - 03:02:12
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




Вы просто Гений! Сделал по первому способу, все работает, а я дня 3 голову ломал.
Спасибо. Если Вам не сложно, напишите пример второго метода.
 
 Top
JustUserR
Отправлено: 11 Августа, 2010 - 00:34:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




born пишет:
Вы просто Гений! Сделал по первому способу, все работает, а я дня 3 голову ломал.
Спасибо! Когда вы первоначально приводили пример сгенерированного HTML-кода с указаными подстановочными значениями - то я подумал что у вас и так имеется схема с использованием множества форм - но когда вы привели предполагаемое описание процесса передачи выбранной информации из формы - то стало ясно что именно является причиной ошибки Дело в том что при отправке некоторой HTML-формы все содержащиеся в ее текстовых полях и элементах одиночного выбора данные - передаются в последовательном порядке в некоторой строке запроса передаче данных из некоторой HTML-форму - и соответственно если у вас встречается несколько элементов формы с одинаковым name-именем то каждое из них будет передано в строку запроса - но при ее разборе со стороны PHP-скрипта значения будут сохраняться в одну и ту же переменную - и соответственно в конечном итоге останется доступным только последнее из них При использовани же элементов множественного выбора их передача зависит от наличия конкретных указанных пунктов - например среди группы checkbox-флакжков с одикановыми именем будут переданы только выбранные из них - и если не было выбрано ни одного элемента то соответственно параметра с данными именем в строке запроса не будет Для удобства отсылки элементов с одинаковым именем можно применять конструкцию с квардатными скобками в конце параметра name - с точки зрения HTTP-запроса это не влечет никакой разницы - но обрабатывающий PHP-скрипт в свою очередь будет не перезаписывать последовательно поступающие значения а сохранять их в массив
born пишет:
Спасибо. Если Вам не сложно, напишите пример второго метода.
Пожалуйста! Существует достаточно большое число методов с помощью которых можно осуществить решение вашей задачи - к примеру можно использовать приведенный выше метод с checkbox-флажками и благодаря нему реализовать возможность множественного удаления элементов из БД Тем не менее в предыдущем сообщении предполагался метод - в котором для каждого из удаляемых элементов генерируются submit-кнопки типа <input type="submit" name="del" value="Удалить N строку"> - и в таком случае при нажатии соответствующей кнопки в PHP-скрипт будет поступать пара ассоциированных значений типа del=Удалить N строку - и на основе разбора value-значения можно получить номер требуемого элемента для удаления


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
born
Отправлено: 11 Августа, 2010 - 00:47:13
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




Огромное Спасибо!
JustUserR пишет:
Для удобства отсылки элементов с одинаковым именем можно применять конструкцию с квардатными скобками в конце параметра name - с точки зрения HTTP-запроса это не влечет никакой разницы - но обрабатывающий PHP-скрипт в свою очередь будет не перезаписывать последовательно поступающие значения а сохранять их в массив

но чтобы вытащить из массива нужный элемент индекс тоже нужно где-то запоминать
 
 Top
JustUserR
Отправлено: 11 Августа, 2010 - 02:01:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




born пишет:
Огромное Спасибо!
Но чтобы вытащить из массива нужный элемент индекс тоже нужно где-то запоминать
Пожалуйста! Если вы используете схему при которой пользователю предоставляется набор checkbox-флажков которые он должен отметить для выбора соответствующих удаляемых элементов - то при отпраке содержащей их формы в строке запроса будут указаны имена и значение только тех из них которые были выбраны Поэтому в данном случае все переданные значения обозначающие индексы заданных элементов - которые оказалсь в соответствующем массиве должны подлежать удалению


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB