Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » работа с записями в БД

Ответить
Настройки темы
работа с записями в БД

Аватара для vagner_HATE

Пользователь


Сообщения: 113
Благодарности: 1

Профиль | Отправить PM | Цитировать


Здравствуйте..у меня вопрос в следующем - вот допустим есть у меня какая то таблица в БД, ее структура например такая (kod;naimenovanie;price) и в этой таблице есть какие то записи..
Мне хочется узнать - как сделать так чтобы при выводе таблицы в браузер рядом с каждой строкой стояло поле ввода(флажок) и была общая кнопка ....
Смысл в следующем - есть 10 записей например и с помощью этих флажков я хочу отметить 5 записей и потом нажатием кнопки чтобы они удалились...или наоборот добавились в другую таблицу....
Вопрос такой - как привязать соответствие каждого флажка конкретной строке рядом с которой он находиться?...ведь формально связь есть только на экране...а на самом деле флажок то уже при выводе проставляется.. и никак не связан с записями в базе

Отправлено: 23:51, 20-10-2005

 

Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


HTML код: Выделить весь код
<input type="checkbox" name="var_name">

В аттрибуте name всегда указывается имя переменной, которая будет передана скрипту для обработки. В данном случае var_name. Если я не ошибаюсь, то если checkbox будет отмечен, то значение переменной будет "on".
Теперь вопрос как же, если у нас много записей и много чекбоксов. Ответ: в атрибуте name можно использовать также и массивы, например в вашем случае массив delete[]. В качестве индекса массива используйте такой столбец из базы, который не повторяется, например наверняка это код. Тогда для каждой записи в базе данных пишем вот так:
HTML код: Выделить весь код
<input type="checkbox" name="delete[".$kod."]">

А ниже с помощью foreach проходим по массиву delete и удаляем все $kod, у которых значение равно "on"

-------
Fortes fortuna adiuvat


Отправлено: 10:41, 21-10-2005 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для benya

Старожил


Сообщения: 302
Благодарности: 5

Профиль | Сайт | Отправить PM | Цитировать


Я обычно привязываюсь по первому полю (обычно id который INT и autoincrement и primary_key).
А что бы так сделать можно передать скрипту целый массив номеров (или имен, цен) тех полей, которые хотим удалить.
А в скрипте написать разбор массива и удаление всех перечисленных номеров полей. Вот и все!

Отправлено: 16:26, 21-10-2005 | #3


Аватара для vagner_HATE

Пользователь


Сообщения: 113
Благодарности: 1

Профиль | Отправить PM | Цитировать


$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, все нормально...
Почему он не хочет заносить значение флажка в массив...или он заносит но я потом неправильно пытаюсь его вывести?

Отправлено: 15:08, 31-10-2005 | #4


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


mass[.$sc.]
А зачем тут точки, либо без них, либо вот так: mass[".$sc."]

-------
Fortes fortuna adiuvat


Отправлено: 15:34, 31-10-2005 | #5


Аватара для vagner_HATE

Пользователь


Сообщения: 113
Благодарности: 1

Профиль | Отправить PM | Цитировать


echo"<td align=center><input type=checkbox name='mass[$sc]'></td>";
echo"Значение $sc ".$mass[$sc];

Почему в этом случае опять таки не выводится значение флажка, или если ничего не выводится то это значит что флажок в значении off?

Отправлено: 16:00, 31-10-2005 | #6


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


vagner_HATE
а вы пишете тег <form> и в нём скрипт, который обрабатывает значения из формы?? иначе mass[$sc] просто не будет существовать

-------
Fortes fortuna adiuvat


Отправлено: 17:24, 31-10-2005 | #7


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


vagner_HATE
Пишите код с подсветкой синтаксиса?
Цитата:
$mass = array(); Если пишу так : echo"<td align=center><input type=checkbox name='mass[.$sc.]'></td>"; print_r($mass[$sc]);
Это о-о-очень маленький кусок. Надо бы побольше. Но не больше 20-30 строк. Лучше весь цикл.

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 22:08, 31-10-2005 | #8


Аватара для vagner_HATE

Пользователь


Сообщения: 113
Благодарности: 1

Профиль | Отправить PM | Цитировать


Спасибо всем, проблема решена..помог понять что у меня не так совет vadimiron'а:

Цитата:
а вы пишете тег <form> и в нём скрипт, который обрабатывает значения из формы?? иначе mass[$sc] просто не будет существовать

Отправлено: 15:35, 01-11-2005 | #9



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » работа с записями в БД

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Конкурс - Работа с учетными записями пользователей в Windows 7 - подробное руководство (Часть 2 OSZone Microsoft Windows 7 0 04-11-2009 22:30
Конкурс - Работа с учетными записями пользователей в Windows 7 - подробное руководство (Часть 1 OSZone Microsoft Windows 7 0 30-10-2009 17:30
Работа с учетными записями в базе SAM Dmitrievich Защита компьютерных систем 5 21-10-2004 01:27




 
Переход