$MaxPrice = JRequest::getVar('Price', '0', 'REQUEST', 'INT');
$_SESSION[MaxPrice] = $MaxPrice;
if($MaxPrice!=0 && ($searchString == trim(_SOBI2_SEARCH_INPUTBOX) || !$searchString)) $searchString='%';
$MinPrice = JRequest::getVar('Price', '0', 'REQUEST', 'INT');
$_SESSION[MinPrice] = $MinPrice;
if($MinPrice!=0 && ($searchString == trim(_SOBI2_SEARCH_INPUTBOX) || !$searchString)) $searchString='%';
Вы наверное прикалываетесь ?
$MinPrice = JRequest::getVar('Price', '0', 'REQUEST', 'INT');
Получается и $MinPrice и $MaxPrice у вас в одной переменной Price ?
Везде в назначении переменных где встречается Price добавьте вторую переменную, например Price2 .
Везде в назначении переменных где встречается MaxPrice добавьте MinPrice.
Соответственно $MinPrice присвойте где надо, типа $MinPrice = JRequest::getVar('Price2', '0', 'REQUEST', 'INT'); и про session не забудьте.
а этот запрос
/* Search by price */
$MaxPrice = JRequest::getVar('Price', '0', 'REQUEST', 'INT');
if ($MaxPrice!=0) {
$items = array();
foreach ( $sIDs as $ThisID ) {
$query = "SELECT DISTINCT sdata.data_txt " .
"FROM `#__sobi2_fields_data` AS sdata " .
"WHERE sdata.itemid = '$ThisID' AND sdata.fieldid={$PriceFieldID}";
$database->setQuery( $query );
if ($database->loadResult() && $database->loadResult() <= $MaxPrice) $items[] = $ThisID;
}
$sIDs = $items;
unset($items);
}
я бы переделал на что-то типа
/* Search by price */
$MinPrice = JRequest::getVar('Price2', '0', 'REQUEST', 'INT');
$MaxPrice = JRequest::getVar('Price', '0', 'REQUEST', 'INT');
if ($MaxPrice!=0) {
$items = array();
foreach ( $sIDs as $ThisID ) {
$query = "SELECT DISTINCT convert(sdata.data_txt,unsigned) as data_txt " .
"FROM `#__sobi2_fields_data` AS sdata " .
"WHERE sdata.itemid = '$ThisID' AND sdata.fieldid={$PriceFieldID}";
$database->setQuery( $query );
if ($database->loadResult() && $database->loadResult() >= $MinPrice && $database->loadResult() <= $MaxPrice) $items[] = $ThisID;
}
$sIDs = $items;
unset($items);
}
Он должен быть один, зачем вы два создали не понимаю.
У себя я так вообще сравнение цены вынес в сам sql запрос.