Перейти к содержанию
Форум поддержки пользователей VamShop

ajax поиск ищет не по всем запросам


Рекомендуемые сообщения

Добрый день!

 

Третий день не могу решить следующую проблему с ajax поиском на сайте http://titd.all4sites.ru/:

если вводить "commax" или "com", то товары находятся и показываются случайные 15 позиций, а вот если "cd" или "jcb", быстрый поиск возвращает что ничего не найдено, хотя товары такие есть  - http://titd.all4sites.ru/advanced_search_result.php?keywords=jsb. Причем в файле ajaxQuickFind.php переменная "$_REQUEST['keywords']" пустая в этих случаях. Судя по всему она обнуляется где-то в классе, но где - найти не могу.

 

Версия VamShop 1.6.

Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте!

 

Раз ищет, то sql запрос выполняется, наверное нужно проверять sql запрос, может переписывать запрос на поиск.

 

В ajaxQuickFind.php, в $products_query

Ссылка на сообщение
Поделиться на другие сайты

Дело не в запросе. Я тоже так думал, но проверив увидел что в файле ajaxQuickFind.php переменная "$_REQUEST['keywords']" в некоторых случаях пустая. Судя по всему она обнуляется где-то в классе, но где - найти не могу.

Ссылка на сообщение
Поделиться на другие сайты

Да точно не в этом дело, раз поиск идёт, значит переменная передаётся.

Иначе поиск не работал бы никогда ни в каких случаях.

Ссылка на сообщение
Поделиться на другие сайты

Да дело не в ней, а в sql запросе.

Если Вам нужно что-то в выводимых результатах править, то нужно sql запрос переписывать, что Вы за эту переменную уцепились не понятно.

Ссылка на сообщение
Поделиться на другие сайты

Так если переменная пустая, то и sql запрос работать вообще не будет. Поэтому и вопрос в том, где она может обнуляться до того как попадает в этот скрипт?

Ссылка на сообщение
Поделиться на другие сайты

Уже в который раз говорю, дело в sql запросе, а Вы всё не слышите и не слышите.

 

Если б переменная была пустая, поиск не работал бы ни при каких условиях.

Ссылка на сообщение
Поделиться на другие сайты

Я Вас прекрасно слышу. Я это проверял. Проверка SQL-запроса - это был первый шаг. Перед выполнение запроса выводил содержимое переменной. И в каких-то случаях эта переменная пустая.

Ссылка на сообщение
Поделиться на другие сайты

Не понятно, зачем Вы цепляетесь за эту переменную, поиск - это sql запрос, нужно его менять.

Ссылка на сообщение
Поделиться на другие сайты

В sql запрос переменная периодически попадает пустая. Там даже условие в файле есть что если она пустая, то sql запрос просто не выполняется. Вод выдержка из кода:

"$q = addslashes(preg_replace("%[^0-9a-zA-Zа-ÑÐ-Я\s]%iu", "", $_REQUEST['keywords']) );

 
$out = "";

if(isset($q) && vam_not_null($q)) {"....

 

Так вот $_REQUEST['keywords'] в некоторых случаях пустая. Соответственно переменная $q пустая и sql запрос просто не выполняется.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...