Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Неправильный поиск по цифрам
$product_query=mysql_query("SELECT product.header, product.url, category.header AS category_header, category.url AS category_url FROM `product` JOIN `category` WHERE product.category=category.id AND product.visible='1' AND product.header LIKE '%".$search_string[$i]."%' ORDER BY product.category ASC limit 15");
- Кодировка поля таблицы cp1251_general_ci
- Тип данных char(255)
Все уже сделано и работает на этом сайте: eurogrant[dot]ru
Делаем запрос:
$search_string = "612";
Выводит пять результатов.
Делаем запрос 2:
$search_string = "61210";
Ничего не выводит... Хотя такой товар в базе есть!
Поиск по словам ищет без проблем, но вот по числам (а это гораздо предпочтительней в данном случае) - работает очень странно.
Я не-пойму в чем может быть проблема?
----- Горбатого могила исправит.
KingStar
Отправлено: 02 Августа, 2012 - 16:23:34
Участник
Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011 Откуда: Беларусь
Помог: 69 раз(а)
$_POST['$search_string'] в trim заключить попробуй
----- То что программа работает, не означает что она написана правильно!
Stierus
Отправлено: 02 Августа, 2012 - 16:29:46
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
1 что есть $search_string[$i] ? откуда берется i ... вы ищете по одной букве?
KingStar
Отправлено: 02 Августа, 2012 - 16:41:14
Участник
Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011 Откуда: Беларусь
Помог: 69 раз(а)
Stierus пишет:
1 что есть $search_string[$i] ? откуда берется i ... вы ищете по одной букве?
да, не заметил сразу
----- То что программа работает, не означает что она написана правильно!
Stierus
Отправлено: 02 Августа, 2012 - 16:45:57
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
Вы про sql-инъекции что-нибудь слышали?
andrweb
Отправлено: 02 Августа, 2012 - 17:37:56
Гость
Покинул форум
Сообщений всего: 99
Дата рег-ции: Нояб. 2009 Откуда: РОССИЯ Ростов-на-Дону
Помог: 0 раз(а)
Stierus пишет:
1 что есть $search_string[$i] ? откуда берется i ... вы ищете по одной букве?
Прошу прощения, забыл убрать... Если использовать $search_string - тоже самое.
Массив нужен для поиска по нескольким словвам
Вот полный код:
$d.=" AND product.header LIKE '%".$search_string[$i]."%' ";
}
$product_query=mysql_query("SELECT product.header, product.url, category.header AS category_header, category.url AS category_url FROM `product` JOIN `category` WHERE product.category=category.id AND product.visible='1' ".$d." ORDER BY product.category ASC limit 16");
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
Цитата:
61210 Ничего не выводит... Хотя такой товар в базе есть!
и у него product.visible = 1 и в product.header есть 61210 ? скинь строку с этим товаром сюда
andrweb
Отправлено: 02 Августа, 2012 - 17:52:19
Гость
Покинул форум
Сообщений всего: 99
Дата рег-ции: Нояб. 2009 Откуда: РОССИЯ Ростов-на-Дону
Помог: 0 раз(а)
Stierus пишет:
Цитата:
61210 Ничего не выводит... Хотя такой товар в базе есть!
и у него product.visible = 1 и в product.header есть 61210 ? скинь строку с этим товаром сюда
В том то и дело, что есть. product.visible = 1. product.header = "Пресс гидравлический AE&T T61210"
Если забить "61" выводит несколько товаров в том числе и "Пресс гидравлический AE&T T61210"
Если забить "61210", или даже "6121" - не находит!
И это касается каждого товара.
Можно попробовать на сайте в поиске - не находит ничего...
WHERE product.category=category.id AND product.visible='1'".$d."
----- Горбатого могила исправит.
KingStar
Отправлено: 02 Августа, 2012 - 20:25:19
Участник
Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011 Откуда: Беларусь
Помог: 69 раз(а)
какая разница какой запрос, в у тебя в цикле конкатенация, и выборка делается одним запросом (Добавление)
andrweb пишет:
product.category=category.id AND product.visible='1'[/PHP]
сожалею, это условие тебе также нужно вставлять в каждый OR
----- То что программа работает, не означает что она написана правильно!
andrweb
Отправлено: 02 Августа, 2012 - 20:32:58
Гость
Покинул форум
Сообщений всего: 99
Дата рег-ции: Нояб. 2009 Откуда: РОССИЯ Ростов-на-Дону
Помог: 0 раз(а)
KingStar пишет:
какая разница какой запрос, в у тебя в цикле конкатенация, и выборка делается одним запросом (Добавление)
andrweb пишет:
product.category=category.id AND product.visible='1'[/PHP]
сожалею, это условие тебе также нужно вставлять в каждый OR
Спасибо, сейчас попробую...
----- Горбатого могила исправит.
tuareg
Отправлено: 02 Августа, 2012 - 20:44:10
Участник
Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010
Помог: 69 раз(а)
Я дико извиняюсь, но сайт _http://eurogrant.ru/ ? Если так, попробуйте ввести "пр" без кавычек, я что-то не могу понять что он вообще находит
Каюсь, сейчас вроде нормально, находит, с цифрами непонятка
Вот так сделайте
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.