|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.01.2012, 12:52 | #1 |
Новичок
Джуниор
Регистрация: 18.01.2012
Сообщений: 1
|
Форма из checkbox для поиска, но поиск проходит по одному выброному значению...
Создал фильтр товара, но фильтрация происходит только по одному введённому значению, а необходимо, чтобы по нескольким выбранным значениям.
Сейчас поиск происходит: Тип одежды: Куртка; Размер XXL. находит либо куртку, либо по размеру, но не находит совместный вариант. Куртка XXL, или выбираю пункт Майка, размер XXL, а в результате получаю только все товары с размером XXL. Подскажите пожалуйста, что сделал не так? Как сделать правильно ? Очень прошу великих гуру помочь полнейшему нубу. Код формы поиска: <?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); if( file_exists(dirname(__FILE__).'/../../components/com_virtuemart/virtuemart_parser.php' )) { require_once( dirname(__FILE__).'/../../components/com_virtuemart/virtuemart_parser.php' ); } else { require_once( dirname(__FILE__).'/../components/com_virtuemart/virtuemart_parser.php' ); } global $VM_LANG, $mm_action_url, $sess; ?> <form action="<?php $sess->purl( $mm_action_url."index.php?page=shop .browse" )?>" method="post"> <table class="pl-1" border="0" cellspacing="0" cellpadding="0" align="left"> <tbody> <tr> <td> <table style="width: 170px;" border="0" cellspacing="0" cellpadding="0" align="left"> <tbody> <tr> <td width="163"><select class="inputbox" type="checkbox" name="keyword" id="keyword" size="1"> <option value=Майка</option> <option value=Куртка</option> </select> </td> </tr> <tr> <td><input name="keyword" type="checkbox" value=" XLL" id="keyword" /> 75F</td> </tr> <tr> <td><input name="keyword" type="checkbox" value=" XL" id="keyword" /> XL</td> </tr> <tr> <td></td> </tr> <tr> <td align="right"><input class="button" name="Search2" type="submit" value="Ðайти" /></td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </form> Фрагмент кода отвечающего за поиск // This is the "normal" search if( !empty($keywordArr) ) { $sq = "("; $numKeywords = count( $keywordArr ); $i = 1; foreach( $keywordArr as $searchstring ) { $sq .= "\n (`#__{vm}_product`.`product_name` LIKE '%$searchstring%' OR "; $sq .= "\n `#__{vm}_product`.`attribute` LIKE '%$searchstring%' OR "; $sq .= "\n `#__{vm}_product`.`product_s_desc` LIKE '%$searchstring%' OR "; $sq .= "\n `#__{vm}_product`.`product_desc` LIKE '%$searchstring%') "; if( $i++ < $numKeywords ) { $sq .= "\n AND "; } } $sq .= ")"; $where_clause[] = $sq; } // Process the advanced search elseif( !empty($keyword1Arr) ) { $sq = "("; $numKeywords = count( $keyword1Arr ); $i = 1; foreach( $keyword1Arr as $searchstring ) { switch($search_limiter) { case "name": $sq .= "\n `#__{vm}_product`.`product_name` LIKE '%$searchstring%' "; break; case "cp": $sq .= "\n `#__{vm}_product`.`product_url` LIKE '%$searchstring%' "; break; case "desc": $sq .= "\n (`#__{vm}_product`.`product_s_desc` LIKE '%$searchstring%' OR "; $sq .= "\n `#__{vm}_product`.`attribute` LIKE '%$searchstring%' OR "; $sq .= "\n `#__{vm}_product`.`product_desc` LIKE '%$searchstring%')"; break; default: $sq .= "\n (`#__{vm}_product`.`product_name` LIKE '%$searchstring%' OR "; $sq .= "\n `#__{vm}_product`.`attribute` LIKE '%$searchstring%' OR "; $sq .= "\n `#__{vm}_product`.`product_url` LIKE '%$searchstring%' OR "; $sq .= "\n `#__{vm}_category`.`category_name` LIKE '%$searchstring%' OR "; $sq .= "\n `#__{vm}_product`.`product_sku` LIKE '%$searchstring%' OR "; $sq .= "\n `#__{vm}_product`.`product_s_desc` LIKE '%$searchstring%' OR "; $sq .= "\n `#__{vm}_product`.`product_desc` LIKE '%$searchstring%') "; } if( $i++ < $numKeywords ) { $sq .= "\n AND "; } } $sq .= ") "; |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Форма поиска - задать диапазон поиска | VictorM | Microsoft Office Excel | 9 | 21.04.2011 00:12 |
BDE. 2 разных lookup-поля по одному значению | Genco | БД в Delphi | 9 | 04.12.2010 01:18 |
Форма для поиска нужных значений | Fezdipekla | Microsoft Office Access | 1 | 01.04.2010 19:05 |
поиск нескольких значений по одному запросу | ilgis1 | Microsoft Office Word | 10 | 16.09.2009 19:49 |
Форма для поиска по базе данных | Vitec | PHP | 6 | 08.10.2007 20:15 |