|
|
|
| Всем доброго времени суток.
Делаю запрос к БД
SELECT `id`, `name` FROM `zip` WHERE `id_cat` LIKE '%$id%' and `id_parent`='0' ORDER BY name ASC
|
В поле cat_id хранятся цифры через запятую. Например "1,3,5,12"
Запрос работает. Но если $id=4, а в поле id_cat, нет 4, но есть 14, то мускул возвращает ответ, что понятно!
Но все же вопрос, можно ли как-то искать по целому числу?
Понятно, что можно подставить запятую и сделать LIKE '%$id,%', но хотелось бы не городить такой ужас. | |
|
|
|
|
|
|
|
для: kapitalist
(11.05.2016 в 12:31)
| | Кстати, правильно ли будет сделать так
SELECT `id`, `name` FROM `zip` WHERE FIND_IN_SET('$id', `id_cat`) and `id_parent`='0' ORDER BY name ASC
|
Вроде работает! Но технически правильно? | |
|
|
|
|
|
|
|
для: kapitalist
(11.05.2016 в 12:41)
| | WHERE `id_cat` IN($id) | |
|
|
|