0 Пользователей и 1 Гость просматривают эту тему.
  • 30 Ответов
  • 7866 Просмотров
*

Hawk

  • Новичок
  • 7
  • 0 / 0
Поиск по VIN
« : 25.06.2010, 15:31:14 »
Так как делаю не совсем стандартную доску - хочу что б у мнея и поиск по VINкоду был (тоесть не выпадающий список, а просто поле для ввода). Может есть решения готовые?
Если надо купить - могу и купить за адекватные деньги
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Поиск по VIN
« Ответ #1 : 25.06.2010, 15:37:25 »
Переделайте по аналогии поиск по номеру объявления, его функция уже есть в компоненте.
*

Hawk

  • Новичок
  • 7
  • 0 / 0
Re: Поиск по VIN
« Ответ #2 : 25.06.2010, 18:59:21 »
Спасибо за наводку. Не подумал. :)
*

Hawk

  • Новичок
  • 7
  • 0 / 0
Re: Поиск по VIN
« Ответ #3 : 25.06.2010, 19:24:14 »
Посмортел. Можно подскзаку? Где сама функция? Вот что в html
Код
	<?php if ($autobbConfig->show_search_form) { ?>
<form action="index.php" method="post">
<input type="hidden" name="option" value="com_autobb" />
<input type="hidden" name="task" value="list" />
<div class="autobbsearch">
<?php echo _AUTOBB_HEADERS_SEARCH_FORM ?><input name="id" id="autobb_searchads" maxlength="20" alt="search" class="inputbox_search" type="text"  value=""/>
<input type="submit" value="<?php echo _AUTOBB_SEARCH_ADS; ?>" class="button_search"/>
</div>
<input type="hidden" name="Itemid" value="<?php echo $Itemid; ?>" />
</form>
<?php }  ?>

Я хочу это поле к модулю поиска и поисковой странице подвязать.
Заранее спасибо 
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Поиск по VIN
« Ответ #4 : 25.06.2010, 19:31:06 »
Да, нужно только заменить 1 строку на такую:
<?php echo _AUTOBB_HEADERS_SEARCH_FORM ?><input name="vin" id="autobb_searchads" maxlength="20" alt="search" class="inputbox_search" type="text"  value=""/>

а в функции listMessages сделать проверку, если в post есть vin, то выбирать из базы объявления содержание в vin эти символы.
*

smalexxx

  • Захожу иногда
  • 130
  • 5 / 0
  • А ты сделал КУ?
Re: Поиск по VIN
« Ответ #5 : 06.09.2010, 11:45:43 »
Да, нужно только заменить 1 строку на такую:
<?php echo _AUTOBB_HEADERS_SEARCH_FORM ?><input name="vin" id="autobb_searchads" maxlength="20" alt="search" class="inputbox_search" type="text"  value=""/>

а в функции listMessages сделать проверку, если в post есть vin, то выбирать из базы объявления содержание в vin эти символы.


Подскажите, как реализовать вызов из БД именно поля VIN, что именно добавить в listMessages?


*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Поиск по VIN
« Ответ #6 : 06.09.2010, 11:50:07 »
Точно не помню, но кажется там итак запрашиваются все данные, нужно только вывести это поле. В данный момент не могу посмотреть код.
*

smalexxx

  • Захожу иногда
  • 130
  • 5 / 0
  • А ты сделал КУ?
Re: Поиск по VIN
« Ответ #7 : 06.09.2010, 12:28:20 »
Вот код из autobb.html.php
Код
<?php
}
/***************************************
* Функция показа списка объявлений, удовлетворяющих условиям поиска
***************************************/
function listMessages( $rows, $lists, $pageNav, $icons ) {
global $Itemid, $pageclass_sfx, $autobbConfig, $mosConfig_live_site, $my, $database, $mainframe;

$task = mosGetParam( $_REQUEST, 'task', '' );
$v = intval (mosGetParam( $_REQUEST, 'v', '' ));
$m = intval (mosGetParam( $_REQUEST, 'm', '' ));
$ex = intval (mosGetParam( $_REQUEST, 'ex', '' ));
$ct = intval (mosGetParam( $_REQUEST, 'ct', '' ));
$d = intval( mosGetParam($_REQUEST, 'd', 0 ) );
$uid = intval(mosGetParam($_REQUEST, 'uid', 0 ) ); //user id
$gid = intval(mosGetParam($_REQUEST, 'gid', 0 ) ); //ads id
$cmid = intval(mosGetParam($_REQUEST, 'cmid', 0 ) );//company id
$id   = intval ( mosGetParam( $_REQUEST, 'id', '' ) );

$engines = array( _AUTOBB_LISTFORM_ENGINE_SHORTNAME_0, _AUTOBB_LISTFORM_ENGINE_SHORTNAME_1,
 _AUTOBB_LISTFORM_ENGINE_SHORTNAME_2, _AUTOBB_LISTFORM_ENGINE_SHORTNAME_3,
 _AUTOBB_LISTFORM_ENGINE_SHORTNAME_4, _AUTOBB_LISTFORM_ENGINE_SHORTNAME_5,
 _AUTOBB_LISTFORM_ENGINE_SHORTNAME_6 );
$transmissions = array( _AUTOBB_LISTFORM_TRANSMISSION_SHORTNAME_0, _AUTOBB_LISTFORM_TRANSMISSION_SHORTNAME_1, _AUTOBB_LISTFORM_TRANSMISSION_SHORTNAME_2, _AUTOBB_LISTFORM_TRANSMISSION_SHORTNAME_3 );
echo $lists['tew'];

?>
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Поиск по VIN
« Ответ #8 : 06.09.2010, 12:42:05 »
Попробуй просто вывести значение вин
*

smalexxx

  • Захожу иногда
  • 130
  • 5 / 0
  • А ты сделал КУ?
Re: Поиск по VIN
« Ответ #9 : 06.09.2010, 13:01:43 »
Дело в том, что я не силен в этом, и некоторые вопросы ставят меня в тупик.
Я пробовал так:
$vin = intval ( mosGetParam( $_REQUEST, 'vin', '' ) );

Но не получилось.
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Поиск по VIN
« Ответ #10 : 06.09.2010, 13:10:50 »
нет, вин в запросе серверу не передается, он берется из БД
нужно делать вывод через echo $row->vin
*

smalexxx

  • Захожу иногда
  • 130
  • 5 / 0
  • А ты сделал КУ?
Re: Поиск по VIN
« Ответ #11 : 06.09.2010, 13:40:29 »
Простите, перечитал и понял, что изначально неправильно задал вопрос.
Собственно поиск по vin не делается. Изменил строку, как вы предлагали выше, но ничего "найдено 0". В связи с этим я предположил, что нужна проверка о которой вы писали.

Вот код формы поиска:

<form action="index.php" method="post">
   <input type="hidden" name="option" value="com_autobb" />
   <input type="hidden" name="task" value="list" />
   <div class="autobbsearch">
   <?php echo _AUTOBB_HEADERS_SEARCH_FORM ?><input name="vin" id="autobb_searchads" maxlength="20" alt="search" class="inputbox" type="text" size="15" value=""/>
   <input type="submit" value="<?php echo _AUTOBB_SEARCH_ADS; ?>" class="button"/>
   </div>
   <input type="hidden" name="Itemid" value="<?php echo $Itemid; ?>" />   
   </form>
« Последнее редактирование: 06.09.2010, 13:46:51 от smalexxx »
*

smalexxx

  • Захожу иногда
  • 130
  • 5 / 0
  • А ты сделал КУ?
Re: Поиск по VIN
« Ответ #12 : 09.09.2010, 13:45:01 »
Ребята, кто может помочь? Очень надо.
Я на своем сайте заменил "VIN" поле на "номер представителя". Может есть варианты решения?
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Поиск по VIN
« Ответ #13 : 10.09.2010, 09:38:17 »
Перечитал еще раз ваши сообщение, но так и не понял, что вам нужно, чтобы работал поиск по знаниям поля vin в БД вместо поиска по номеру объявления, либо вывод значений поля в таблице объявлений отдельной колонкой.
*

smalexxx

  • Захожу иногда
  • 130
  • 5 / 0
  • А ты сделал КУ?
Re: Поиск по VIN
« Ответ #14 : 11.09.2010, 10:46:28 »
Перечитал еще раз ваши сообщение, но так и не понял, что вам нужно, чтобы работал поиск по знаниям поля vin в БД вместо поиска по номеру объявления, либо вывод значений поля в таблице объявлений отдельной колонкой.

Поиск по значениям поля VIN.
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Поиск по VIN
« Ответ #15 : 11.09.2010, 13:59:34 »
форму вы сделали правильно
обязательно нужно считывать данные из строки
$vin = intval ( mosGetParam( $_REQUEST, 'vin', '' ) );

потом в запросе к базе добавьте условие
если есть вин, то выбирать только строки у которых вин = значению из строки запроса
*

smalexxx

  • Захожу иногда
  • 130
  • 5 / 0
  • А ты сделал КУ?
Re: Поиск по VIN
« Ответ #16 : 12.09.2010, 12:23:25 »
потом в запросе к базе добавьте условие
если есть вин, то выбирать только строки у которых вин = значению из строки запроса

Вопрос как раз в том, как сделать, что и где прописать.
« Последнее редактирование: 12.09.2010, 12:34:52 от smalexxx »
*

smalexxx

  • Захожу иногда
  • 130
  • 5 / 0
  • А ты сделал КУ?
Re: Поиск по VIN
« Ответ #17 : 16.09.2010, 16:51:15 »
Помогите, как правильно написать запрос SELECT FROM WHERE и куда его потом вставлять.
Прошу прощения за свое невежество, но я не знаю PHP на таком уровне (потихоньку исправляюсь).
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Поиск по VIN
« Ответ #18 : 16.09.2010, 23:16:05 »
все по аналогии
вот например поиск по городу:
if($ct){ $where[] = "a.city=".$ct; $extlink .= "&ct=".$ct; } //в городе

а вам нужно
if($vin){ $where[] = "a.vin=".$vin; } // поиск точного vin
*

smalexxx

  • Захожу иногда
  • 130
  • 5 / 0
  • А ты сделал КУ?
Re: Поиск по VIN
« Ответ #19 : 20.09.2010, 12:45:18 »
Все равно ничего (0 объявлений). Вот что я делал:

1. в autobb.html.php

<?php echo _AUTOBB_HEADERS_SEARCH_FORM ?><input name="vin" id="autobb_searchads" maxlength="20" alt="search" class="inputbox" type="text" size="15" value=""/>

2. в этом же файле добавил:
в function listMessages в 109 строку
$vin = intval ( mosGetParam( $_REQUEST, 'vin', '' ) );

3. в файле в autobb.php
в function listMessages так же добавил
$vin = intval ( mosGetParam( $_REQUEST, 'vin', '' ) );

и после строки фильтр по городу
if($vin){ $where[] = "a.vin=".$vin; } // поиск точного vin

Пока ничего не получилось

*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Поиск по VIN
« Ответ #20 : 20.09.2010, 16:30:42 »
включите отладку и посмотрите текст запроса к бд при поиске, найдете по сочетанию vin=
напишите его сюда
*

smalexxx

  • Захожу иногда
  • 130
  • 5 / 0
  • А ты сделал КУ?
Re: Поиск по VIN
« Ответ #21 : 20.09.2010, 17:05:21 »
#
SELECT *
  FROM jos_autobb_config
  WHERE id = '1'
#
SELECT count(a.id)
 
  FROM jos_autobb_messages AS a
 
  LEFT JOIN jos_autobb_photos AS p
 
  ON a.id=p.msgid
 
  LEFT JOIN jos_autobb_vendors AS v
 
  ON a.vendor=v.id
 
  LEFT JOIN jos_autobb_models AS m
 
  ON a.model=m.id
 
  LEFT JOIN jos_autobb_colors AS c
 
  ON a.color=c.id
 
  LEFT JOIN jos_autobb_currency AS cur
 
  ON a.currency=cur.id
 
  WHERE a.id=674
  AND a.vin=1
*

smalexxx

  • Захожу иногда
  • 130
  • 5 / 0
  • А ты сделал КУ?
Re: Поиск по VIN
« Ответ #22 : 20.09.2010, 17:07:19 »
  LEFT JOIN jos_autobb_regions AS r
 
  ON ct.region=r.id
 
  WHERE a.id=674
  AND a.vin=1
 
  GROUP BY a.id
 
  ORDER BY a.sticked DESC, a.ordering ASC, a.modifyDate DESC
 
  LIMIT 1
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Поиск по VIN
« Ответ #23 : 20.09.2010, 20:14:47 »
И что вы получаете на выходе? Пустой список?
Есть ли в базе объявление с номером 674 и вином = 1?
меня смущает и одно и другое
*

smalexxx

  • Захожу иногда
  • 130
  • 5 / 0
  • А ты сделал КУ?
Re: Поиск по VIN
« Ответ #24 : 23.09.2010, 20:49:02 »
Нет

всего 30 объявлений, номер который я ввожу 000000-10

в результате 0
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Поиск по VIN
« Ответ #25 : 23.09.2010, 22:23:15 »
что-то не так у вас в коде, не должен в запрос при поиске попадать a.id=674
*

smalexxx

  • Захожу иногда
  • 130
  • 5 / 0
  • А ты сделал КУ?
Re: Поиск по VIN
« Ответ #26 : 24.09.2010, 11:19:56 »
Восстановил все обратно
теперь запрос к базе отправляет правильно (если учесть его изначальную функцию поиск по id)
при запросе объявления с номером 00000002, он обрезает "0"

WHERE a.id=2

мне необходимо, что бы передавался только запрос типа WHERE a.vin=2 , без WHERE a.id=2
Возможно где то надо закоментировать поиск по id?

*

smalexxx

  • Захожу иногда
  • 130
  • 5 / 0
  • А ты сделал КУ?
Re: Поиск по VIN
« Ответ #27 : 24.09.2010, 11:27:21 »
Я понял, этот запрос WHERE a.id=674, возникает, когда неверный параметр вводить, например "000000-10" из за знака "-".

Второй вариант, с добавленными параметрами запроса "vin" (при введении 1 или 0000001)

WHERE a.id=674
  AND a.vin=1
Из-за какого то конфликта, при отправке данных. Если закоментировать $id = intval ( mosGetParam( $_REQUEST, 'id', '' ) ); , то поиск начинает работать, но это не вариант.
« Последнее редактирование: 24.09.2010, 12:02:23 от smalexxx »
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Поиск по VIN
« Ответ #28 : 05.10.2010, 12:34:19 »
а у вас точно <input name="vin" ...
*

smalexxx

  • Захожу иногда
  • 130
  • 5 / 0
  • А ты сделал КУ?
Re: Поиск по VIN
« Ответ #29 : 06.10.2010, 15:53:08 »
да
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

модуль быстрый поиск "конкретная категория" Joomla 1.5

Автор smalexxx

Ответов: 2
Просмотров: 4267
Последний ответ 08.05.2012, 12:54:53
от Alexrus
Вопросы от тех, кто не знает что такое ПОИСК по форуму

Автор ShippKZ

Ответов: 124
Просмотров: 52461
Последний ответ 06.12.2010, 14:27:37
от Alex Revo
Раширенный поиск

Автор Krava_Dima

Ответов: 5
Просмотров: 2193
Последний ответ 11.09.2010, 13:52:43
от Alex Revo
Поиск по объявлениям

Автор smalexxx

Ответов: 3
Просмотров: 2300
Последний ответ 03.09.2010, 19:36:24
от smalexxx
Не работает поиск

Автор stardel

Ответов: 1
Просмотров: 1970
Последний ответ 05.11.2009, 22:09:32
от dmsoh