Эта тема на forum.dklab.ru


WingedFox: Формы, таблицы БД и JS
Здравствуйте!

Кто-нибудь уже писал скрипт, который умеет:
1. Вытягивать нужные данные из БД.
2. Генерировать форму из требуемых полей, с проверкой введенных данных на соответствие свойствам полей у клиента и на сервере.
3. Уметь обновлять только требуемые поля. У <select> - имя или значение.
4. Уметь обновлять список значений у <select>.
5. Работать через <frame> или <iframe>, дабы не качать десятки килобайт данных на одну форму и, соответственно, обновлять данные в форме (а не форму) только после того, как они будут обновлены в базе.
6. При невозможности обновить данные в базе, уметь восстановить старые значения. Опять же, локально.

Доступ к базе на запись будет эксклюзивным. Во всяком случае, для первой версии :)

Подскажите, пожалуйста, где и чего почитать можно на эту тему или примеры подобных скриптов.

Буду благодарен за любую информацию.

PS: кто-нибудь встречал реализацию VIEWS для mySQL?
Дмитрий Котеров:
По первому вопросу — частично: http://php.dklab.ru/FormPersister/
Учтите, что генерировать форму в полностью автоматическом режиме нельзя, ибо имеет значение дизайн формы.

По второму — пока для MySQL нет VIEWS.
WingedFox:
Спасибо.
FormPersister'a передает <select> в переменных типа var[]... Пока что, никто не смог мне объяснить, как с ними работать в JS.
Одно дело, когда форма целиком перегружается, и совсем другое - когда копируешь данные в другой фрейм...

С дизайном - автоматом получается вполне приличная форма. Единственный недостаток автомата - форма сильно растягивается по вертикали, хотя группировка одноименных тэгов решает и эту проблему.
С вытаскиванием нужных полей вверх шаблоны справляются прекрасно.

Их обещают только в 5 версии, а то и в 6 :(
Похоже, придется самому писать такую абстракцию...
Надоело уже руками обновлять кучи связанных таблиц 8)
Дмитрий Котеров:
FormPersister'a передает <select> в переменных типа var[]... Пока что, никто не смог мне объяснить, как с ними работать в JS.

document.Form.elements['myselect[]'].selectedIndex

WingedFox:
Спасибо.

Эта тема на forum.dklab.ru