Суть вот в чём. Нужно создать форму, в которой будут добавляться некоторые поля по +.
Например, в форме есть поля ФИО, Телефон, E-mail итд.
Телефон и E-mail - динамичные поля, то есть можно добавить аналогичное поле нажав на +.
Вопрос стоит в организации хранения данных в БД. Нужно учесть возможность поиска по всем полям, включая динамически добавленные.
Какие варианты?
1. Bio man - 02 Апреля, 2015 - 18:30:42 - перейти к сообщению
2. DeepVarvar - 02 Апреля, 2015 - 18:51:25 - перейти к сообщению
Таблица полей - одна.
Таблица значений - вторая.
Искать значения по второй, возможно с группировкой.
Таблица значений - вторая.
Искать значения по второй, возможно с группировкой.
3. LIME - 03 Апреля, 2015 - 03:26:40 - перейти к сообщению
DeepVarvar ты типа EAV предлагаешь?
зачем усложнять?
чем старый добрый 1 к многим не угодил?
телефон с майлом в отдельную таблицу
и к ним еще поле связи с основной таблицей
(Добавление)
зачем усложнять?
чем старый добрый 1 к многим не угодил?
телефон с майлом в отдельную таблицу
и к ним еще поле связи с основной таблицей
(Добавление)
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- SELECT * FROM main_tbl
- JOIN phones_mails ON phones_mails.main_id = main_tbl.id
- WHERE mail = 'lime@php.su';
- SELECT * FROM main_tbl
- JOIN (SELECT * FROM phones_mails WHERE mail = 'lime@php.su') p_m ON p_m.main_id = main_tbl.id
(Добавление)
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- SELECT * FROM main_tbl
- JOIN (SELECT * FROM phones_mails WHERE mail = 'lime@php.su' GROUP BY main_id) p_m ON p_m.main_id = main_tbl.id