Регистрация
Вход через соцсети
Восстановление пароля

Компонент поиска

Новый топик
02.10.2010, 02:19
Ответить | Цитировать
Гость
Гость

На основе модуля "Поиск по сайту" я создал свой компонент, где в системных настройках указал следующее:
Код:

if($_GET[f_project_Name]) $project = "`project` = '$_GET[f_project_Name]' AND";
if($_GET[f_free_Name]) $free = "`free` = '$_GET[f_free_Name]' AND";
$query_from = "Message81 AS cat";
$query_where = "$project $free 1";
$query_order = "cat.Priority";

Почему-то при вводе пригодных значений все равно выводится "По Вашему запросу ничего не найдено."
Делаю echo "SELECT * FROM $query_from WHERE $query_where ORDER BY $query_order";
и вставляю в phpmyadmin в поле sql-запроса - выполняется и нужные записи находит. В чем проблема с netcat'ом или что я не так делаю?
04.10.2010, 12:57
Ответить | Цитировать
MipH
Спирин Дмитрий
MipH

Зарегистрирован:
2004-12-22
Сообщений: 252

Ох, какую-то кашу вы сделали из шаблона поиска и своей задачей...
Я так и не понял, что вы хотите и причем тут компонент поиска.
Полагаю, вам лучше описать задачу, а я бы предложил решение.

bbzone@gmail.com | bbz.ru | miph.info | miph.ru
Вы можете обратиться ко мне, если необходима разработка функционала на NetCat
08.10.2010, 17:38
Ответить | Цитировать
Гость
Гость

В общем ладно, не суть. Разобрался как сделать по-нормальному. У меня теперь такой вопрос, есть список со станциями метро. Данный список находится под номером 6 в полях компонента (поле metro) и по этому полю возможен поиск. При обращении по адресу /objects/cat.html?action=index&srchPat%5B6%5D=1 ищется объект с соответствующим номером метро. Мне надо объединить некоторые станции. В системных настройках компонента я написал следующее:
Код:

$search_r = $_REQUEST[srchPat][6];
if(($_REQUEST[srchPat][6] == 40) || ($_REQUEST[srchPat][6] == 50) || ($_REQUEST[srchPat][6] == 52)) $search_r = " (`metro` = '40' OR `metro` = '50' OR `metro` = '52') ";
elseif(($_REQUEST[srchPat][6] == 8) || ($_REQUEST[srchPat][6] == 27)) $search_r = " (`metro` = '8' OR `metro` = '27') ";
elseif(($_REQUEST[srchPat][6] == 23) || ($_REQUEST[srchPat][6] == 35)) $search_r = " (`metro` = '23' OR `metro` = '35') ";
elseif(($_REQUEST[srchPat][6] == 39) || ($_REQUEST[srchPat][6] == 45)) $search_r = " (`metro` = '39' OR `metro` = '45') ";
elseif(($_REQUEST[srchPat][6] == 5) || ($_REQUEST[srchPat][6] == 11)) $search_r = " (`metro` = '5' OR `metro` = '11') ";
$query_where = $search_r;

В общем не работает данная конструкция, а если не найдено вообще ничего, то выпадает ошибка:

Warning: s_list_class(648, 668): error in SQL query in /home/xxx/public_html/netcat/require/s_list.inc.php on line 465

Как бы это реализовать аккуратно?
14.10.2010, 00:32
Ответить | Цитировать
Гость
Гость

Ни у кого нет возможных вариантов решения? Помогите пожалуйста, очень нужно.
198 196 2010-10-14 00:32:06 10763
Описание проекта