![]() |
работа с записями в БД
Здравствуйте..у меня вопрос в следующем - вот допустим есть у меня какая то таблица в БД, ее структура например такая (kod;naimenovanie;price) и в этой таблице есть какие то записи..
Мне хочется узнать - как сделать так чтобы при выводе таблицы в браузер рядом с каждой строкой стояло поле ввода(флажок) и была общая кнопка .... Смысл в следующем - есть 10 записей например и с помощью этих флажков я хочу отметить 5 записей и потом нажатием кнопки чтобы они удалились...или наоборот добавились в другую таблицу.... Вопрос такой - как привязать соответствие каждого флажка конкретной строке рядом с которой он находиться?...ведь формально связь есть только на экране...а на самом деле флажок то уже при выводе проставляется.. и никак не связан с записями в базе |
HTML код:
<input type="checkbox" name="var_name"> Теперь вопрос как же, если у нас много записей и много чекбоксов. Ответ: в атрибуте name можно использовать также и массивы, например в вашем случае массив delete[]. В качестве индекса массива используйте такой столбец из базы, который не повторяется, например наверняка это код. Тогда для каждой записи в базе данных пишем вот так: HTML код:
<input type="checkbox" name="delete[".$kod."]"> |
Я обычно привязываюсь по первому полю (обычно id который INT и autoincrement и primary_key).
А что бы так сделать можно передать скрипту целый массив номеров (или имен, цен) тех полей, которые хотим удалить. А в скрипте написать разбор массива и удаление всех перечисленных номеров полей. Вот и все! |
$mass = array();
Если пишу так : echo"<td align=center><input type=checkbox name='mass[.$sc.]'></td>"; print_r($mass[$sc]); то выдается следущее - Undefined index: и значение $sc Если пишу так: $mass[$sc] = 42; print_r($mass[$sc]); то выводит 42, все нормально... Почему он не хочет заносить значение флажка в массив...или он заносит но я потом неправильно пытаюсь его вывести? |
mass[.$sc.]
А зачем тут точки, либо без них, либо вот так: mass[".$sc."] |
echo"<td align=center><input type=checkbox name='mass[$sc]'></td>";
echo"Значение $sc ".$mass[$sc]; Почему в этом случае опять таки не выводится значение флажка, или если ничего не выводится то это значит что флажок в значении off? |
vagner_HATE
а вы пишете тег <form> и в нём скрипт, который обрабатывает значения из формы?? иначе mass[$sc] просто не будет существовать |
vagner_HATE
Пишите код с подсветкой синтаксиса? Цитата:
|
Спасибо всем, проблема решена..помог понять что у меня не так совет vadimiron'а:
Цитата:
|
Время: 23:29. |
Время: 23:29.
© OSzone.net 2001-