|
|
12.02.2016, 10:16
|
|
kostyara
kos
Зарегистрирован: 2011-04-26
Сообщений: 29
|
Есть поле с содержимым типа ",1,7,9," (Это множественный выбор из списка, в данном случае специальности сотрудника)
На странице полного просмотра сотрудника необходимо вывести других сотрудников у которых хоть одна специальность совпадает с текущим.
Т.е. если мы находимся на странице сотрудника с специальностями ',1,4,8,' и есть еще сотрудник с специальностями ',2,4,7,' то есть совпадение по специальности с id = 4, т.е. выводим второго сотрудника.
Как сделать выборку $query_where?
|
|
|
12.02.2016, 10:50
|
|
resident
Веб-группа «Дабл Ю»
Зарегистрирован: 2005-01-10
Сообщений: 336
|
только like '%,4,%' - в надежде что сотрудников не тысячи
|
|
|
12.02.2016, 10:51
|
|
Voldgold
Владимир Мизёв
Зарегистрирован: 2014-11-20
Сообщений: 13
|
Это ищите?
mizevvln
|
|
|
12.02.2016, 11:29
|
|
kostyara
kos
Зарегистрирован: 2011-04-26
Сообщений: 29
|
Цитата:только like '%,4,%' - в надежде что сотрудников не тысячи
А '4' то мы откуда взяли изначально, что бы в запрос поставить?
Ведь это в примере 4 совпало со вторым сотрудником, а ведь могут быть еще куча сотрудников с id специальности = 1 или 8, их тоже надо выводить)))
|
|
|
12.02.2016, 18:53
|
|
Игорь
Игорь Мишарин
Зарегистрирован: 2011-11-20
Сообщений: 482
|
Попробуйте:
Код:$spec = ltrim($f_Spec,",");
$query_where = "".nc_array_to_string( (array)explode(',', $spec), array('element'=> "a.Spec LIKE(',%%ELEMENT%,')", 'divider' => ' OR ' ) )."";
$f_Spec - Ваше поле со специальностями
Stark
|
|
|
13.02.2016, 16:37
|
|
kostyara
kos
Зарегистрирован: 2011-04-26
Сообщений: 29
|
Цитата:Попробуйте:
Код:$spec = ltrim($f_Spec,",");
$query_where = "".nc_array_to_string( (array)explode(',', $spec), array('element'=> "a.Spec LIKE(',%%ELEMENT%,')", 'divider' => ' OR ' ) )."";
$f_Spec - Выше поле со специальностями
Игорь, премного благодарен, именно то что нужно!!! Заработало сразу, теперь попробую понять как это реализовано!!! Спасибо большое!
|
|
|
15.02.2016, 12:24
|
|
resident
Веб-группа «Дабл Ю»
Зарегистрирован: 2005-01-10
Сообщений: 336
|
Цитата:Попробуйте:
Код:$spec = ltrim($f_Spec,",");
(array)explode(',', $spec)
$f_Spec - Выше поле со специальностями
это лишнее
так же доступен массив $f_ИмяПоля_id, содержащим id выбранных элементов.
|