{% else-1 %}
Обновить | Подписаться | Поднять тему
Чтобы выполнить действие авторизируйтесь или пройдите регистрацию на сайте.
1.
JeNuM * 0.15
[автор] (28 сен 2013, 03:09) [0/0] [0] [отв] [спам] [под] +1 | -1

здравствуйте. помогите пожалуйста, как произвести точный поиск в таблице при помощи like
Вот у меня таблица test, в ней поле с названием str = \'1,2,3,10,15\'
Мне нужно сделать поиск со значением \"1\".
Делаю поиск идет обращение в таблицу:
-
$search=$_POST[\'search\'];
-
$co=mysql_result(mysql_query(\"SELECT COUNT(*) FROM `test` where `srt` like \'%\".$search.\"%\' \"*, 0);
----
но в поле str есть так же 10 и 15, которые содержат цифру 1.
Мне нужно получить точный подсчет. если убрать % % то он будет искать только те, где str=\'1\'.
Как можно сделать по другому ?

2.
~AL~ * 11.86
(28 сен 2013, 03:14) [0/0] [0] [отв] [спам] [под] +1 | -1

Раздели все цифры в ячейке не запятыми, а скажем, тире, чтобы было -1--2--3--10--15- и делай LIKE \'-%$serch%-\'


Изм. 2 раз. / Посл. изм.
~AL~ * 11.86
(28 сен 2013, 03:19)
3.
JeNuM * 0.15
[автор] (28 сен 2013, 03:20) [0/0] [0] [отв] [спам] [под] +1 | -1

~AL~, спасибо. а по другому никак ? оставив этот вариант через запятые

4.
~AL~ * 11.86
(28 сен 2013, 03:27) [0/0] [0] [отв] [спам] [под] +1 | -1

JeNuM, добавь индекс FULLTEXT для str и попробуй сделать выборку
$co=mysql_result(mysql_query(\"SELECT COUNT(*) FROM `test` WHERE MATCH (`str`) AGAINST (\'$search\')\"*, 0);


Но я не уверен, match и against практике не использовал


Изм. 3 раз. / Посл. изм.
~AL~ * 11.86
(28 сен 2013, 03:33)
  • 1 из 1
Чтобы писать сообщения авторизируйтесь или пройдите регистрацию на сайте.
Подписаны: 1
Скачать тему | Файлы темы | Фильтр сообщений