ФорумПрограммированиеPHP для идиотов → Помогите определиться со структурой

Помогите определиться со структурой

  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 17 марта 2011 г. 17:41

    Никак не могу определиться со структурой.
    Задача такая:
    Есть 15 стран, у каждой страны есть 1-5 вариантов действий, для каждого конкретного действия своя анкета из 10 (или около того) вопросов. Вопросы с вариантом Да/Нет. В некоторых случаях при ответе Да появляется доп. вопрос в котором могут быть различные поля для заполнения, такие как input type=text (radio, checkbox) и их может быть несколько разных сразу.
    Щас все эти анкеты тупо в готовом виде берутся из базы и выводятся как есть. Я же хочу все вопросы отделить от кода и хранить в базе, но никак не придумаю как это лучше сделать. Смущает то, что в доп. ответах различные поля.
    Вот в качестве пример кусок хтмл с вопросом:
    <tr valign="top">
    <td width="2%" align="right">5.</td>
    <td width="98%">Медицинский страховой полис:<br />
    <input name="q5" type="radio" value="0" />Нет
    <input class="radio" name="q5" type="radio" value="1" />Да<br />
    <div id="q5" style="display: none; width: 100%;">
    Срок действия (до): <input class="input" name="q5_1" type="text" /> <em>(ДД.ММ.ГГГГ)</em><br />
    Сумма страхового покрытия <input class="input" name="q5_2" type="text" />
    <input checked="checked" name="q5_3" type="radio" value="0" />EUR
    <input class="radio" name="q5_3" type="radio" value="1" />USD<br />
    <input name="q5_4" type="radio" value="0" />Страховой полис отпечатан на принтере
    <input class="radio" name="q5_4" type="radio" value="1" />Заполнен от руки
    </div>
    </td>
    </tr>

    Надеюсь нормально описал что есть щас и что я хочу в конечном итоге. Намекните хотя бы в каком направлении мне двигаться :)
    from TRIAL with LOVE
  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz 19 марта 2011 г. 10:00, спустя 1 день 16 часов 19 минут

    Поля таблица вопросов должны содержать как минимум все HTML-аттрибуты полей формы (name, type, value, …). Сложнее будет рулить зависимостями между полями. Можно, например создать поле dependence, где писать ID вопроса, от которого зависит данный. Что-то вроде:

    [table]
    [tr] [td]id[/td] [td]form_id[/td] [td]label[/td] [td]name[/td] [td]type[/td] [td]default[/td] [td]visible[/td] [td]dependence[/td] [/tr]
    [tr] [td]1[/td] [td]1[/td] [td]Медицинский страховой полис:[/td] [td]q5[/td] [td]radio[/td] [td]NULL[/td] [td]true[/td] [td]NULL[/td] [/tr]
    [tr] [td]2[/td] [td]1[/td] [td]Срок действия (до):[/td] [td]q5_1[/td] [td]text[/td] [td]NULL[/td] [td]false[/td] [td]1[/td] [/tr]
    [tr] [td]3[/td] [td]1[/td] [td]Сумма страхового покрытия:[/td] [td]q5_2[/td] [td]text[/td] [td]NULL[/td] [td]false[/td] [td]1[/td] [/tr]
    [/table]
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 21 марта 2011 г. 10:13, спустя 2 дня 12 минут

    Спасибо за совет. Щас тоже пытаюсь думать в этом направлении.
    from TRIAL with LOVE

Пожалуйста, авторизуйтесь, чтобы написать комментарий!