Консультация № 56638
25.09.2006, 12:44
0.00 руб.
0 4 3
Уважаемые эксперты.
Мне периодически приходится программировать механизм заполнения формы и сохранения результатов в mySQL.

На первой странице выводится форма для заполнения, на второй - проверка значений и запись их в БД.

Можно ли как-нибудь это дело ускорить, автоматизировать, шаблонизировать и т.п., чтобы на эту банальную процедуру уходило минимум времени и сил?

Текст полей, их количество и метод обработки - всегда разные.

Обсуждение

Неизвестный
25.09.2006, 12:52
общий
это ответ
Здравствуйте, Зяма!
Все можно. Если осторожно :-)

Таблица 1:
ID поля
Название поля
Тип поля

По этой таблице генерите форму запроса, в зависимости от "Типа поля" меняете тип input‘a (input type=)

Ответы храните в таблице 2:
ID ответа
ID поля
Значение ответа

Если таких форм несколько в одном сайте, то к вышеуказаным таблицам несложно прикрутить еще и ID формы
Неизвестный
25.09.2006, 13:07
общий
это ответ
Здравствуйте, Зяма!
возможно Вам пригодится следующий фрагмент кода
однако указываю на потенциальную опасность таких решений, проверять параметры запроса надо всегда, ведь любой может передать специально параметром запроса то, чего передавать нельзя
я то лично использую этот код исключительно для служебных целей



Приложение:
$table=$_POST[‘s‘]; unset($_POST[‘s‘]); $id=$_POST[‘id‘]; unset($_POST[‘id‘]); $s=""; while (list($k,$v)=each($_POST) ) $s.=$k."=‘".addslashes( $v)."‘,"; $s.="id=‘".$id."‘ "; $s="UPDATE $table SET $s where id=‘".$id."‘;";
Неизвестный
25.09.2006, 18:47
общий
to PVSпо вашей схеме в таблице 2 у меня все значения ответов будут одного типа (например text или char).Помоему не правильно использовать текстовые типы для хранения чисел, меток времени и галок чекбоксов.Я же не знаю какие поля будут в моей следующей форме (следующем сайте). Кроме того, данные из очередной формы могут храниться не в одной, а (например) в трех связанных ключевыми полями таблицах.to Punk_UnDeadможет быть когда-нибудь и пригодится, а пока мне бы больше пригодился скрипт генерирующий файлы:- форма.php- обработчик.php- создание_таблиц_для_нового_сайта.sqlтолько вот проблема: как должен выглядеть мой диалог с этим скриптом (генератором форм)?
Неизвестный
26.09.2006, 12:50
общий
это ответ
Здравствуйте, Зяма!
Можно попробовать вручную создавать только файл с формой, а в скрипте вынуть из него все теги INPUT (на пример регулярными выражениями), их TYPE,NAME и VALUE, и на основе этих данных уже генерить SQL и PHP файлы.
Например если TYPE==‘text‘, то NAME может быть именем поля, если VALUE===‘0‘ то тип этого поля INT, если VALUE===‘‘, то тип CHAR.
если TYPE==‘checkbox‘ то тип BOOL, если TYPE==‘radio‘, то тип ENUM и т.д.
Конкретно реализацию, конечно, нужно продумать.
Чем смогу помогу.
Удачи.
Форма ответа