Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вопрос по like %%
 
 автор: kapitalist   (11.05.2016 в 12:31)   письмо автору
 
 

Всем доброго времени суток.
Делаю запрос к БД
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:41)   письмо автору
 
   для: 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


Вроде работает! Но технически правильно?

  Ответить  
 
 автор: confirm   (11.05.2016 в 19:32)   письмо автору
 
   для: kapitalist   (11.05.2016 в 12:41)
 

WHERE `id_cat` IN($id)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования