поиск в базе по checkbox

Шщшщ

Новичок
Есть база с перечнем (например, людей) и их характеристиками (пол, возраст, профессия и т.д).
Возможные значения каждой характеристики хранятся в базе в отдельных таблицах, то есть представляют собой закрытые справочники.
При заведении нового человека, можно выбрать несколько значений каждой характеристики через checkbox (например, несколько профессий, мест проживания, интересов). В этом случае по человеку в соответствующей характеристике (например, Интересы) хранится массив с перечнем id из справочника интересов.
Вопрос: как организовать выборку из базы людей при условии выбора нескольких значений любой характеристики посредством checkbox. Как сформировать запрос?
 

Tartyga

Новичок
Что это значит? Как вы храните массив?
хранится массив с перечнем id из справочника интересов.
Вам необходимо организовать таблицу связей, то есть:
Есть таблица людей (id, fio, и т.д.), таблица(ы) характеристик, при добавлении нового человека, вам необходимо сохранять связь: user_id, param_id.
Выборку осуществлять либо оператором JOIN либо множественным SELECT, зачастую второй вариант хоть и примитивнее, но выполняется намного быстрее особенно при большом количестве записей.
 

Шщшщ

Новичок
Поясните пожалуйста где ошибка:

$q = "SELECT id,whom FROM bank WHERE id IN('".implode("', '", $searchId)."')";
echo $q; /////// SELECT id,whom FROM bank WHERE id IN('109', '110', '111')
$tmp1 = mysql_query($q,$db);

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in ... on line 223

Где вообще можно прочитать про использование IN в SELECT?
Не нашел нигде!!!
 

Шщшщ

Новичок
За mysql_error() Большое Спасибо!!!
Проблему решил!

ну а "в гугле" - это просто капитан Очевидность.
Это все равно, что на вопрос "где найти?", ответить "ищи".
Конечно, я там искал, но, по всей видимости, не смог корректно сформировать запрос.
Подскажите, как надо было.
 
Сверху