группировка полей формы

Тема в разделе "PHP", создана пользователем Phrack, 25 ноя 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Phrack

    Phrack

    Регистр.:
    3 ноя 2010
    Сообщения:
    264
    Симпатии:
    38
    Сейчас пишу crud для сайта и необходимо реализовать следующее:
    Есть 3 таблицы
    Код:
    table1
    id1 name1
    
    table2
    id2 name2
    
    table3
    id1 id2 param
    1-3 и 2-3 связаны отношением 1 ко многим. При добавлении объекта 1 необходимо предоставлять возможные параметры, хранящиеся в таблице 2, а так же присваивать значения выбранным параметрам.

    Что я сделал:
    При генерации формы происходит запрос к таблице 2, который выбирает все строки, затем результат добавляется в <select> С помощью jquery происходит добавление полей из селекта по кнопке.

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

    Вопрос 1: передадутся ли данные из добавленных полей в post? (в зенд фреймворке не передались)

    Вопрос 2:
    Эту же форму я планирую использовать и для редактирования. Допустим я смогу визуализировать все доп поля. Если пользователь уберет часть из них, как мне написать алгоритм удаления их из БД?
     
  2. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    364
    Симпатии:
    117
    1) если html код select-а валидный ну и находится внутри формы ... - то данные конечно же передадутся через пост.

    не знаю как в зенде сделан crud ( с зендом не работал )
    но в Yii дабы данные "подхватились" моделью необходимо соблюдать строгое наименование полей формы, т.е. все html атрибуты name должны иметь имя начинающееся с названия модели
    тоесть
    не name="selectName" .... name="textName"
    а name="ModelName[selectName]" .... name="ModelName[textName]"
    ( если не соблюдать то нужно напрямую из $_POST / $_GET извлекать)

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


    2) DELETE FROM table3
    WHERE (id1= x1 and id2= x2) OR (id1= x11 and id2= x22)
    ну а с первой и 2 как-то так .. ток походу там удалять ненужно
    DELETE FROM table1 WHERE id1 in ( x1, x2, x3 ...)
     
Статус темы:
Закрыта.