Обработка форм на РНР...
Здравствуйте.
Помогите разобраться с формой.
У меня есть форма. На ней присутствуют элементы: строка текста,
многострочный текст, чекбоксы для выбора нескольких опций.
Значение всех этих элементов необходимо хранить в БД MySQL.
Отсюда и возникли у меня вопросы.
1. Какие должный быть поля для хранения чекбоксов ? Например, на форме
есть раздел "Языки программирования" и Юзер должен указать, какие
именно он знает языки, т.е. поставить галочки в этих чекбоксах.
Как на РНР проверить, какие именно он поставил галочки и как их
потом записать в БД. Как работать с БД я знаю. Меня интересует сама
логика обработки этих чекбоксов и какой тип поля лучше для этого
подходит ?
2. Как сделать обратное: прочитав данные из БД программно
установить нужные чекбоксы при просмотре этой формы ?
Как работать на форму с простыми строка, числами я знаю.
Буду очень рад и признателен, если кто-нибудь подкинет готовые
примеры по работе с формами на РНР.
Ну прежде всего про названия чекбоксов. Лучше их сделать массивом.
<input type=checkbox name=primer[0]>
<input type=checkbox name=primer[1] checked>
<input type=checkbox name=primer[2]>
ну и т.д.
Дело в том, что в php значения checkbox передаются в практически в
логическом виде (если checkbox пуст, то передаётся false, если отмечен, то
передаётся значение On)
Тогда если у тебя есть три вышеназванных чекбокса, то в сценарий php
передастся такой массив: $primer=array{false,On,false}
тогда в цикле обрабатываешь данные:
for($i=0;$i<count($primer);$i++) {
if(isset($primer[$i])) { /*Блок необходимых операторов*/ }
}
А вот про поля, ну тут уже от структуры базы зависит. Можно сделать в
таблице количество полей равный количеству чекбоксов и записывать в них
чё-нибудь (да хоть цифры 1-0, хоть строки On-false, хоть логическими поля
сделать, хоть любые другие предложения)
А можно отдельную таблицу для чекбоксов:
idrec - номер записи
iduser - код пользователя
idform - код формы из которой записываются чекбоксы (в принципе на сайте
может быть несколько таких форм)
idcheck - код чекбокса (такой же, каким номером он обозначен в форме)
value - значение (тут уже я говорил, можно написать что угодно)
ну а обратная ситуация надеюсь понятна, что надо выбрать SELECT-ом
информацию о чекбоксах для требуемой формы и если значения имеют
определённое заранее значение, то вставить в форму у чекбокса слово checked
C уважением, Бурляев Вячеслав
Номер выпуска : 245
Возраст листа : 297 (дней)
Количество подписчиков : 184
Адрес в архиве : http://subscribe.ru/archive/inet.webbuild.build/msg/256914
Получить правила : mailto:inet.webbuild.build-rules@subscribe.ru
Формат "дайджест" : mailto:inet.webbuild.build-digest@subscribe.ru
Формат "каждое письмо" : mailto:inet.webbuild.build-normal@subscribe.ru
Формат "читать с веба" : mailto:inet.webbuild.build-webonly@subscribe.ru
-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: inet.webbuild.build
Написать в лист: mailto:inet.webbuild.build-list@subscribe.ru
Отписаться: mailto:inet.webbuild.build--unsub@subscribe.ru?subject=inet.webbuild.build
http://subscribe.ru/ http://subscribe.ru/feedback