[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выборка с помощью LIKE
SamuraiDV
Помогите пожалуйста!
Запрос к базе примерно следующий:

$result = mysql_query("SELECT * FROM articles WHERE `cat` LIKE '%$cat%' ORDER BY id DESC"); 


В поле cat перечисление чисел через запятую, например: 1,2,5,12. В переменную $cat попадают числа и при попадании например числа 1 выводит все записи с еденицей например 11, 12, 31, а нужно если 1 то 1.

Заранее благодарен!



Спустя 5 минут, 14 секунд (9.12.2011 - 11:25) zeromind написал(а):
LIKE '$cat' - % с двух сторон убирай

Спустя 26 минут, 11 секунд (9.12.2011 - 11:51) SamuraiDV написал(а):
без них ничего не выводит

Спустя 11 минут, 54 секунды (9.12.2011 - 12:03) Michael написал(а):
http://mysql.ru/docs/man/Regexp.html.

А вообще у тебя ситуация неверно спроектированной БД. В ячейке таблицы должно находиться только одно атомарное значение.

Спустя 35 секунд (9.12.2011 - 12:04) zeromind написал(а):
% - это обозначение, в твоем случае или вначале или вконце будут ещё другие символы, без % - строгая выборка.. хз что не так, ищи касяк
кстате, если у тебя в $cat - перечисление, тогда да - тебе нужна регулярка..

Спустя 10 минут, 16 секунд (9.12.2011 - 12:14) SamuraiDV написал(а):
Решил проблему записью: LIKE '$cat,%'

Всем ОГРОМНОЕ спасибо за участие! )

Спустя 27 минут, 56 секунд (9.12.2011 - 12:42) Michael написал(а):
Цитата (SamuraiDV @ 9.12.2011 - 11:14)
Решил проблему записью: LIKE '$cat,%'

Всем ОГРОМНОЕ спасибо за участие! )

уверен? Это же только для первого числа подойдет

Спустя 1 час, 11 минут, 10 секунд (9.12.2011 - 13:53) SamuraiDV написал(а):
Цитата (Michael @ 9.12.2011 - 09:42)
Цитата (SamuraiDV @ 9.12.2011 - 11:14)
Решил проблему записью: LIKE '$cat,%'

Всем ОГРОМНОЕ спасибо за участие! )

уверен? Это же только для первого числа подойдет

Нда уж, вы правы(

Спустя 18 минут, 56 секунд (9.12.2011 - 14:12) SlavaFr написал(а):
попробуй
where find_in_set('".$cat."',cat) >0

Спустя 7 минут, 52 секунды (9.12.2011 - 14:20) SamuraiDV написал(а):
Цитата (SlavaFr @ 9.12.2011 - 11:12)
попробуй
where find_in_set('".$cat."',cat) >0

Так вроде бы работает!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.