Дополнительный фильтр
tomweb,
Как именно не работает? Выделите вставленный Вами фрагмент кода.
Как именно не работает? Выделите вставленный Вами фрагмент кода.
<?php
function SetGroups($mas_groups, $set)
{
$mas_groups = to_array($mas_groups);
foreach ($mas_groups as $key=>$value)
{
foreach ($value as $key1=>$value1)
{
$set[] = $value1['shop_groups_id'];
if ($value1['shop_groups_id'] == $key)
{
$set[] = $key;
SetGroups($mas_groups, $set);
}
}
}
return $set;
}
$xsl_catalog = to_str($GLOBALS['LA']['xsl_catalog']);
$xsl_item = to_str($GLOBALS['LA']['xsl_item']);
$current_shop_id = to_int($GLOBALS['LA']['shop_id']);
$param = array();
$shop = & singleton('shop');
if ($GLOBALS['shop_item_path'] != false)
{
$external_propertys = array();
if (class_exists("SiteUsers"))
{
/* Получаем id текущего пользователя сайта */
$SiteUsers = & singleton('SiteUsers');
$site_user_id = $SiteUsers->GetCurrentSiteUser();
$param['user_id'] = $site_user_id;
$external_propertys['user_id'] = $SiteUsers->GetCurrentSiteUser();
}
else
{
$site_user_id = 0;
$external_propertys['user_id'] = 0;
}
// Если добавление комментария
if (isset($_POST['submit_comment']) && !empty($GLOBALS['shop_item_path']['item']))
{
/* Проверяем CAPCHA*/
$Captcha = new Captcha();
$xmlData = '<?xml version="1.0" encoding="' . SITE_CODING . '"?>' . "\n";
$xmlData .= '<document>' . "\n";
if ($site_user_id > 0
|| $Captcha->ValidCaptcha(to_str($_POST['captcha_key']), to_str($_POST['captcha_keystring'])))
{
$param['shop_items_catalog_item_id'] = $GLOBALS['shop_item_path']['item'];
$param['shop_comment_user_name'] = to_str($_REQUEST['shop_comment_user_name']);
$param['shop_comment_user_email'] = to_str($_REQUEST['shop_comment_user_email']);
$param['shop_comment_subject'] = to_str($_REQUEST['shop_comment_subject']);
$param['shop_comment_text'] = to_str($_REQUEST['shop_comment_text']);
$param['shop_comment_grade'] = to_int($_REQUEST['shop_comment_grade']);
$param['shop_comment_date_time'] = date("Y-m-d H:i:s");
/* Активность/неактивность комментария */
$shop_row = $shop->GetShop($current_shop_id);
if ($shop_row)
{
$param['shop_comment_active'] = to_int($shop_row['shop_comment_active']);
}
else
{
$param['shop_comment_active'] = false;
}
$external_propertys['comment_is_active'] = $param['shop_comment_active'];
// Если есть модуль "Пользователи сайта", получим текущего пользователя
if (class_exists('SiteUsers'))
{
$SiteUsers = & singleton('SiteUsers');
$param['site_users_id'] = $SiteUsers->GetCurrentSiteUser();
}
else
{
$param['site_users_id'] = 0;
}
$shop_comment_id = $shop->InsertComment($param);
// Задан XSL для формирования письма администратору о добавлении комментария к товару
if (to_str($GLOBALS['LA']['xsl_add_comment_letter_to_admin']) != '')
{
// Формируем XML для комментария
$xmlData .= $shop->GenXml4Comment($shop_comment_id);
$xmlData .= '</document>' . "\n";
$xsl = new xsl();
// Формируем текст письма администратору
$message = $xsl->build($xmlData, $GLOBALS['LA']['xsl_add_comment_letter_to_admin']);
// Формат письма - текст
if (to_int($GLOBALS['LA']['comment_mail_type']) == 0)
{
$comment_mail_type = 'text/plain';
}
else
{
$comment_mail_type = 'text/html';
}
$subject = $GLOBALS['MSG_shops']['subject_report_for_comment'];
$kernel = & singleton('kernel');
$kernel->SendMailWithFile(EMAIL_TO, EMAIL_TO, $subject, $message, array(), $comment_mail_type);
}
}
else
{
/* Неправильно введен код изображенный на картинке */
$external_propertys['error'] = 1;
/* Запоминаем значения */
$external_propertys['shop_comment_user_name'] = strip_tags(to_str($_REQUEST['shop_comment_user_name']));
$external_propertys['shop_comment_user_email'] = strip_tags(to_str($_REQUEST['shop_comment_user_email']));
$external_propertys['shop_comment_subject'] = strip_tags(to_str($_REQUEST['shop_comment_subject']));
$external_propertys['shop_comment_text'] = strip_tags(to_str($_REQUEST['shop_comment_text']));
$external_propertys['shop_comment_grade'] = to_int($_REQUEST['shop_comment_grade']);
$external_propertys['shop_comment_date_time'] = date("Y-m-d H:i:s");
}
}
/* Вывод списка */
if (!$GLOBALS['shop_item_path']['item'])
{
$param['current_group_id'] = false; // корневая группа
/* Определяем номер элемента, с которого начинается показ в текущей группе */
$page = end($GLOBALS['URL_ARRAY']);
$page = to_str($page);
$shop_row = $shop->GetShop($current_shop_id);
if ($shop_row)
{
$items_on_page = $shop_row['shop_items_on_page'];
}
else
{
$items_on_page = 10;
}
/*
Порядок сортировки ('Asc' - по возрастанию, 'Desc' - по убыванию, 'Rand' - произвольный порядок)
$param['items_order']='Asc';
Поле, по которому сортируем (наименование элемента)
$param['items_field_order']='shop_items_catalog_name';
*/
/* Ограничиваем по производителю */
if (to_int($_GET['producer_id']) > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_producers_list_id';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '='; // Условие
$element['value'] = to_int($_GET['producer_id']);
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['producer_id'] = to_int($_GET['producer_id']);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Ограничиваем по продавцу */
if (to_int($_GET['saller_id']) > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_sallers_id';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '='; // Условие
$element['value'] = to_int($_GET['saller_id']);
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['saller_id'] = to_int($_GET['saller_id']);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
$price_from = str_replace(',', '.', to_float($_GET['price_from']));
/* Ограничиваем по цене ОТ */
if ($price_from > 0)
{
$external_propertys['price_from'] = $price_from;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
$price_to = str_replace(',', '.', to_float($_GET['price_to']));
/* Ограничиваем по цене ДО */
if ($price_to > 0)
{
$external_propertys['price_to'] = $price_to;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Число элементов на странице */
$on_page = to_int($_GET['on_page']);
if ($on_page > 0 && $on_page < 150)
{
$param['items_on_page'] = $on_page;
$external_propertys['on_page'] = $on_page;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
// Определяем номер страницы.
if ($on_page)
{
$items_on_page = $on_page;
}
if (ereg("^page-([0-9]*)$", $page, $regs) && to_int($regs[1]) > 1)
{
/* Страница умножается на кол-во элементов, выводимых на страницу */
$items_begin = ($regs[1] - 1) * $items_on_page;
}
else
{
$items_begin = 0;
}
$param['items_begin'] = $items_begin;
/* Направление сортировки, 0 - по-возрастанию, 1 - по-убыванию */
$order_direction = to_int($_GET['order_direction']);
switch ($order_direction)
{
case 1: /* По-возрастанию */
{
$order_direction = 'ASC';
break;
}
case 2: /* По-убыванию */
{
$order_direction = 'DESC';
break;
}
default: /* По-умолчанию */
{
$order_direction = 'ASC';
break;
}
}
/* Поле сортировки */
$sort_field = to_int($_GET['sort_by_field']);
switch ($sort_field)
{
case 1: /* По имени */
{
$param['items_field_order'] = 'shop_items_catalog_name';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
case 2: /* По цене */
{
//$param['items_field_order'] = 'shop_items_catalog_price';
$param['items_field_order'] = 'item_price_absolute';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
case 3: /* По оценке*/
{
$param['items_field_order'] = 'shop_comment_grade';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
}
// Задан фильтр и/или сортировка по цене
if ($price_from > 0 || $price_to > 0 || $sort_field == 2)
{
// Получаем список валют магазина
$currency_result = $shop->GetAllCurrency();
$query_currency_switch = 'shop_items_catalog_price';
// Цикл по валютам магазина
while ($currency_row = mysql_fetch_assoc($currency_result))
{
// Получаем коэффициент пересчета для каждой валюты
$currency_coefficient = $shop->GetCurrencyCoefficientToShopCurrency($currency_row['shop_currency_id'], $shop_row['shop_currency_id']);
$query_currency_switch = "IF (shop_items_catalog_table.shop_currency_id = {$currency_row['shop_currency_id']}, shop_items_catalog_table.shop_items_catalog_price * $currency_coefficient, $query_currency_switch)";
}
$param['sql_external_select'] = ' ,' . $query_currency_switch . ' AS item_price_absolute';
}
/* Обработка дополнительных свойств.
Получаем список свойств, разрешенных для отображения в данной группе и в фильтре */
$resource_properties = $shop->GetPropertiesOfGroupForXml($current_shop_id, $param['current_group_id']);
if ($resource_properties)
{
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
/* Префикс, если нужен. */
$element['prefix'] = ' and ('; // префикс
/* ОСТАВЛЯЕТЕ БЕЗ ИЗМЕНЕНИЙ, ЭТО НУЖНО ДЛЯ СОРТИРОВКИ */
$element['name'] = ''; // Имя
/* поля для основного св-ва, если тип = 1, то не указывается */
$element['if'] = ''; // Условие
/* Вот здесь передается ID доп. св-ва, по которому производится сортировка.
ID ВАШЕГО ПОЛЯ УКАЗЫВАЕТЕ ЗДЕСЬ */
$element['value'] = ''; /* Значение поля (или параметра) */
$element['sufix']=' ';
/* Добавляем в общий список условий */
$param['select'][] = $element;
$element = array();
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 133; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = 'AND'; // префикс
$element['name'] = ''; // Имя
$element['if'] = '>='; // Условие
$element['value'] = to_int($_GET['height_from']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
$element = array();
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 133; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = 'AND'; // префикс
$element['if'] = '<='; // Условие
$element['value'] = to_int($_GET['height_to']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
$element = array();
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 139; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = 'AND'; // префикс
$element['if'] = '>='; // Условие
$element['value'] = to_int($_GET['max_weight']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
$count_condition = 3;
$property_xml = '';
$count_properties = mysql_num_rows($resource_properties);
for ($i = 0; $i < $count_properties; $i++)
{
$row = mysql_fetch_assoc($resource_properties);
$element['value'] = 0;
foreach ($_GET as $key => $value)
{
if (preg_match("/property_id_{$row['shop_list_of_properties_id']}_item_id_(\d*)/", $key, $matches))
{
$get_param = 'property_id_'.$row['shop_list_of_properties_id'].'_item_id_'.$matches[1];
if (isset($_GET[$get_param]) > 0 && to_int($matches[1]) > 0)
{
$element['value'] = to_int($matches[1]);
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id']).'_item_id_'.$element['value']] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'_item_id_'.$element['value'].'='.$element['value'];
}
}
}
/* Выбираем режим отображения */
$get_param = 'property_id_'.$row['shop_list_of_properties_id'];
if (isset($_GET[$get_param]))
{
if ($row['shop_list_of_properties_type'] == 0 || $row['shop_list_of_properties_show_kind'] == 1)
{
if (to_str($_GET[$get_param]) ==! "")
{
$element['value'] = quote_smart(to_str($_GET[$get_param]));
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'='.$element['value'];
}
}
// Флажок
elseif($row['shop_list_of_properties_type'] == 7)
{
$element['value'] = 1;
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'='.$element['value'];
}
else
{
if (to_int($_GET[$get_param]) > 0)
{
$element['value'] = to_int($_GET[$get_param]);
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'='.$element['value'];
}
}
}
if ($element['value'])
{
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
$element['property_id'] = to_int($row['shop_list_of_properties_id']);
$element['type'] = 1; /* 0 - основное св-во, 1 - дополнительное */
//$element['prefix'] = 'AND'; /* префикс */
$element['if'] = '='; /* Условие */
$element['sufix'] = '';
if ($count_condition)
{
$element['prefix'] = ' or '; /* префикс */
}
else
{
$element['prefix'] = ' '; /* префикс */
}
$count_condition++;
$param['select'][] = $element;
}
}
if (!$count_condition)
{
$element['prefix'] = ' 1'; /* префикс */
}
else
{
$element['prefix'] = ''; // префикс
}
/* добавляем конечный элемент, содержащий HAVING */
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
/* ОСТАВЛЯЕТЕ БЕЗ ИЗМЕНЕНИЙ, ЭТО НУЖНО ДЛЯ СОРТИРОВКИ */
$element['name'] = ''; /* Имя */
/* поля для основного св-ва, если тип = 1, то не указывается */
$element['if'] = ''; /* Условие */
/* Вот здесь передается ID доп. св-ва, по которому производится сортировка.
ID ВАШЕГО ПОЛЯ УКАЗЫВАЕТЕ ЗДЕСЬ */
$element['value'] = ''; // Значение поля (или параметра)
if ($count_condition != 0 && ($price_from > 0 || $price_to >0))
{
$param['sql_group_by'] = 'GROUP BY shop_items_catalog_table.shop_items_catalog_item_id';
$param['sql_having'] = "HAVING COUNT(shop_properties_items_table.shop_properties_items_id) = {$count_condition}";
}
else
{
$param['sql_having'] = 'HAVING 1 ';
}
$element['sufix'] = ' ) ';
/* Добавляем в общий список условий */
$param['select'][] = $element;
}
else
{
$param['sql_having'] = 'HAVING 1 ';
//$having_count = 'HAVING 1 ';
}
if ($price_from > 0)
{
$param['sql_having'] .= ' AND item_price_absolute >=' . $price_from;
//$having_count .= ' AND item_price_absolute >=' . $price_from;
}
if ($price_to > 0)
{
$param['sql_having'] .= ' AND item_price_absolute <=' . $price_to;
//$having_count .= ' AND item_price_absolute <=' . $price_to;
}
/* добавляем конечный элемент, содержащий HAVING */
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
$element['prefix'] = ' AND';
$element['name'] = 'shop_items_catalog_table.shop_shops_id'; /* Имя */
$element['if'] = '='; /* Условие */
$element['value'] = $current_shop_id; // Значение поля (или параметра)
$element['sufix'] = '';
//$element['sufix'] = $having_count;
/* Добавляем в общий список условий */
$param['select'][] = $element;
if (!empty($property_xml))
{
$external_propertys['property_xml'] = $property_xml;
}
// Если передано имя тэга - фильтруем
if (isset($GLOBALS['shop_item_path']['tag_name']))
{
if (class_exists('Tag'))
{
$oTag = & singleton('Tag');
$tag_row = $oTag->GetTagByName($GLOBALS['shop_item_path']['tag_name']);
$param['tags'] = array($tag_row['tag_id']);
// При выводе тэгов вывод элементов ведется из всех групп
$param['current_group_id'] = false;
}
}
// При выводе списка товаров получать подробное описание каждого товара не нужно
$param['show_text'] = false;
// При выводе списка товаров получать сопутствующие товары не нужно
$param['xml_show_tying_products'] = false;
// Разрешаем передачу в XML свойств групп
$param['xml_show_group_property'] = true;
$shop->ShowShop($current_shop_id, $xsl_catalog, $param, $external_propertys);
}
else
{
/* Вывод конкретного элемент */
$shop->ShowItem($GLOBALS['shop_item_path']['item'], $xsl_item, $param, $external_propertys);
}
}
?>
function SetGroups($mas_groups, $set)
{
$mas_groups = to_array($mas_groups);
foreach ($mas_groups as $key=>$value)
{
foreach ($value as $key1=>$value1)
{
$set[] = $value1['shop_groups_id'];
if ($value1['shop_groups_id'] == $key)
{
$set[] = $key;
SetGroups($mas_groups, $set);
}
}
}
return $set;
}
$xsl_catalog = to_str($GLOBALS['LA']['xsl_catalog']);
$xsl_item = to_str($GLOBALS['LA']['xsl_item']);
$current_shop_id = to_int($GLOBALS['LA']['shop_id']);
$param = array();
$shop = & singleton('shop');
if ($GLOBALS['shop_item_path'] != false)
{
$external_propertys = array();
if (class_exists("SiteUsers"))
{
/* Получаем id текущего пользователя сайта */
$SiteUsers = & singleton('SiteUsers');
$site_user_id = $SiteUsers->GetCurrentSiteUser();
$param['user_id'] = $site_user_id;
$external_propertys['user_id'] = $SiteUsers->GetCurrentSiteUser();
}
else
{
$site_user_id = 0;
$external_propertys['user_id'] = 0;
}
// Если добавление комментария
if (isset($_POST['submit_comment']) && !empty($GLOBALS['shop_item_path']['item']))
{
/* Проверяем CAPCHA*/
$Captcha = new Captcha();
$xmlData = '<?xml version="1.0" encoding="' . SITE_CODING . '"?>' . "\n";
$xmlData .= '<document>' . "\n";
if ($site_user_id > 0
|| $Captcha->ValidCaptcha(to_str($_POST['captcha_key']), to_str($_POST['captcha_keystring'])))
{
$param['shop_items_catalog_item_id'] = $GLOBALS['shop_item_path']['item'];
$param['shop_comment_user_name'] = to_str($_REQUEST['shop_comment_user_name']);
$param['shop_comment_user_email'] = to_str($_REQUEST['shop_comment_user_email']);
$param['shop_comment_subject'] = to_str($_REQUEST['shop_comment_subject']);
$param['shop_comment_text'] = to_str($_REQUEST['shop_comment_text']);
$param['shop_comment_grade'] = to_int($_REQUEST['shop_comment_grade']);
$param['shop_comment_date_time'] = date("Y-m-d H:i:s");
/* Активность/неактивность комментария */
$shop_row = $shop->GetShop($current_shop_id);
if ($shop_row)
{
$param['shop_comment_active'] = to_int($shop_row['shop_comment_active']);
}
else
{
$param['shop_comment_active'] = false;
}
$external_propertys['comment_is_active'] = $param['shop_comment_active'];
// Если есть модуль "Пользователи сайта", получим текущего пользователя
if (class_exists('SiteUsers'))
{
$SiteUsers = & singleton('SiteUsers');
$param['site_users_id'] = $SiteUsers->GetCurrentSiteUser();
}
else
{
$param['site_users_id'] = 0;
}
$shop_comment_id = $shop->InsertComment($param);
// Задан XSL для формирования письма администратору о добавлении комментария к товару
if (to_str($GLOBALS['LA']['xsl_add_comment_letter_to_admin']) != '')
{
// Формируем XML для комментария
$xmlData .= $shop->GenXml4Comment($shop_comment_id);
$xmlData .= '</document>' . "\n";
$xsl = new xsl();
// Формируем текст письма администратору
$message = $xsl->build($xmlData, $GLOBALS['LA']['xsl_add_comment_letter_to_admin']);
// Формат письма - текст
if (to_int($GLOBALS['LA']['comment_mail_type']) == 0)
{
$comment_mail_type = 'text/plain';
}
else
{
$comment_mail_type = 'text/html';
}
$subject = $GLOBALS['MSG_shops']['subject_report_for_comment'];
$kernel = & singleton('kernel');
$kernel->SendMailWithFile(EMAIL_TO, EMAIL_TO, $subject, $message, array(), $comment_mail_type);
}
}
else
{
/* Неправильно введен код изображенный на картинке */
$external_propertys['error'] = 1;
/* Запоминаем значения */
$external_propertys['shop_comment_user_name'] = strip_tags(to_str($_REQUEST['shop_comment_user_name']));
$external_propertys['shop_comment_user_email'] = strip_tags(to_str($_REQUEST['shop_comment_user_email']));
$external_propertys['shop_comment_subject'] = strip_tags(to_str($_REQUEST['shop_comment_subject']));
$external_propertys['shop_comment_text'] = strip_tags(to_str($_REQUEST['shop_comment_text']));
$external_propertys['shop_comment_grade'] = to_int($_REQUEST['shop_comment_grade']);
$external_propertys['shop_comment_date_time'] = date("Y-m-d H:i:s");
}
}
/* Вывод списка */
if (!$GLOBALS['shop_item_path']['item'])
{
$param['current_group_id'] = false; // корневая группа
/* Определяем номер элемента, с которого начинается показ в текущей группе */
$page = end($GLOBALS['URL_ARRAY']);
$page = to_str($page);
$shop_row = $shop->GetShop($current_shop_id);
if ($shop_row)
{
$items_on_page = $shop_row['shop_items_on_page'];
}
else
{
$items_on_page = 10;
}
/*
Порядок сортировки ('Asc' - по возрастанию, 'Desc' - по убыванию, 'Rand' - произвольный порядок)
$param['items_order']='Asc';
Поле, по которому сортируем (наименование элемента)
$param['items_field_order']='shop_items_catalog_name';
*/
/* Ограничиваем по производителю */
if (to_int($_GET['producer_id']) > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_producers_list_id';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '='; // Условие
$element['value'] = to_int($_GET['producer_id']);
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['producer_id'] = to_int($_GET['producer_id']);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Ограничиваем по продавцу */
if (to_int($_GET['saller_id']) > 0)
{
$element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
$element['name'] = 'shop_sallers_id';
$element['prefix'] = 'AND'; // префикс
$element['if'] = '='; // Условие
$element['value'] = to_int($_GET['saller_id']);
$element['sufix'] = '';
$param['select'][] = $element;
$external_propertys['saller_id'] = to_int($_GET['saller_id']);
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
$price_from = str_replace(',', '.', to_float($_GET['price_from']));
/* Ограничиваем по цене ОТ */
if ($price_from > 0)
{
$external_propertys['price_from'] = $price_from;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
$price_to = str_replace(',', '.', to_float($_GET['price_to']));
/* Ограничиваем по цене ДО */
if ($price_to > 0)
{
$external_propertys['price_to'] = $price_to;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
/* Число элементов на странице */
$on_page = to_int($_GET['on_page']);
if ($on_page > 0 && $on_page < 150)
{
$param['items_on_page'] = $on_page;
$external_propertys['on_page'] = $on_page;
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
}
// Определяем номер страницы.
if ($on_page)
{
$items_on_page = $on_page;
}
if (ereg("^page-([0-9]*)$", $page, $regs) && to_int($regs[1]) > 1)
{
/* Страница умножается на кол-во элементов, выводимых на страницу */
$items_begin = ($regs[1] - 1) * $items_on_page;
}
else
{
$items_begin = 0;
}
$param['items_begin'] = $items_begin;
/* Направление сортировки, 0 - по-возрастанию, 1 - по-убыванию */
$order_direction = to_int($_GET['order_direction']);
switch ($order_direction)
{
case 1: /* По-возрастанию */
{
$order_direction = 'ASC';
break;
}
case 2: /* По-убыванию */
{
$order_direction = 'DESC';
break;
}
default: /* По-умолчанию */
{
$order_direction = 'ASC';
break;
}
}
/* Поле сортировки */
$sort_field = to_int($_GET['sort_by_field']);
switch ($sort_field)
{
case 1: /* По имени */
{
$param['items_field_order'] = 'shop_items_catalog_name';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
case 2: /* По цене */
{
//$param['items_field_order'] = 'shop_items_catalog_price';
$param['items_field_order'] = 'item_price_absolute';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
case 3: /* По оценке*/
{
$param['items_field_order'] = 'shop_comment_grade';
$param['items_order'] = $order_direction;
$external_propertys['sort_by_field'] = $sort_field;
$external_propertys['order_direction'] = $order_direction;
break;
}
}
// Задан фильтр и/или сортировка по цене
if ($price_from > 0 || $price_to > 0 || $sort_field == 2)
{
// Получаем список валют магазина
$currency_result = $shop->GetAllCurrency();
$query_currency_switch = 'shop_items_catalog_price';
// Цикл по валютам магазина
while ($currency_row = mysql_fetch_assoc($currency_result))
{
// Получаем коэффициент пересчета для каждой валюты
$currency_coefficient = $shop->GetCurrencyCoefficientToShopCurrency($currency_row['shop_currency_id'], $shop_row['shop_currency_id']);
$query_currency_switch = "IF (shop_items_catalog_table.shop_currency_id = {$currency_row['shop_currency_id']}, shop_items_catalog_table.shop_items_catalog_price * $currency_coefficient, $query_currency_switch)";
}
$param['sql_external_select'] = ' ,' . $query_currency_switch . ' AS item_price_absolute';
}
/* Обработка дополнительных свойств.
Получаем список свойств, разрешенных для отображения в данной группе и в фильтре */
$resource_properties = $shop->GetPropertiesOfGroupForXml($current_shop_id, $param['current_group_id']);
if ($resource_properties)
{
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
/* Префикс, если нужен. */
$element['prefix'] = ' and ('; // префикс
/* ОСТАВЛЯЕТЕ БЕЗ ИЗМЕНЕНИЙ, ЭТО НУЖНО ДЛЯ СОРТИРОВКИ */
$element['name'] = ''; // Имя
/* поля для основного св-ва, если тип = 1, то не указывается */
$element['if'] = ''; // Условие
/* Вот здесь передается ID доп. св-ва, по которому производится сортировка.
ID ВАШЕГО ПОЛЯ УКАЗЫВАЕТЕ ЗДЕСЬ */
$element['value'] = ''; /* Значение поля (или параметра) */
$element['sufix']=' ';
/* Добавляем в общий список условий */
$param['select'][] = $element;
$element = array();
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 133; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = 'AND'; // префикс
$element['name'] = ''; // Имя
$element['if'] = '>='; // Условие
$element['value'] = to_int($_GET['height_from']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
$element = array();
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 133; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = 'AND'; // префикс
$element['if'] = '<='; // Условие
$element['value'] = to_int($_GET['height_to']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
$element = array();
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 139; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = 'AND'; // префикс
$element['if'] = '>='; // Условие
$element['value'] = to_int($_GET['max_weight']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
$count_condition = 3;
$property_xml = '';
$count_properties = mysql_num_rows($resource_properties);
for ($i = 0; $i < $count_properties; $i++)
{
$row = mysql_fetch_assoc($resource_properties);
$element['value'] = 0;
foreach ($_GET as $key => $value)
{
if (preg_match("/property_id_{$row['shop_list_of_properties_id']}_item_id_(\d*)/", $key, $matches))
{
$get_param = 'property_id_'.$row['shop_list_of_properties_id'].'_item_id_'.$matches[1];
if (isset($_GET[$get_param]) > 0 && to_int($matches[1]) > 0)
{
$element['value'] = to_int($matches[1]);
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id']).'_item_id_'.$element['value']] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'_item_id_'.$element['value'].'='.$element['value'];
}
}
}
/* Выбираем режим отображения */
$get_param = 'property_id_'.$row['shop_list_of_properties_id'];
if (isset($_GET[$get_param]))
{
if ($row['shop_list_of_properties_type'] == 0 || $row['shop_list_of_properties_show_kind'] == 1)
{
if (to_str($_GET[$get_param]) ==! "")
{
$element['value'] = quote_smart(to_str($_GET[$get_param]));
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'='.$element['value'];
}
}
// Флажок
elseif($row['shop_list_of_properties_type'] == 7)
{
$element['value'] = 1;
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'='.$element['value'];
}
else
{
if (to_int($_GET[$get_param]) > 0)
{
$element['value'] = to_int($_GET[$get_param]);
$external_propertys['property_id_'.to_int($row['shop_list_of_properties_id'])] = $element['value'];
$property_xml .= '&property_id_'.to_int($row['shop_list_of_properties_id']).'='.$element['value'];
}
}
}
if ($element['value'])
{
/* Применять фильтр */
$external_propertys['apply_filter'] = true;
$element['property_id'] = to_int($row['shop_list_of_properties_id']);
$element['type'] = 1; /* 0 - основное св-во, 1 - дополнительное */
//$element['prefix'] = 'AND'; /* префикс */
$element['if'] = '='; /* Условие */
$element['sufix'] = '';
if ($count_condition)
{
$element['prefix'] = ' or '; /* префикс */
}
else
{
$element['prefix'] = ' '; /* префикс */
}
$count_condition++;
$param['select'][] = $element;
}
}
if (!$count_condition)
{
$element['prefix'] = ' 1'; /* префикс */
}
else
{
$element['prefix'] = ''; // префикс
}
/* добавляем конечный элемент, содержащий HAVING */
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
/* ОСТАВЛЯЕТЕ БЕЗ ИЗМЕНЕНИЙ, ЭТО НУЖНО ДЛЯ СОРТИРОВКИ */
$element['name'] = ''; /* Имя */
/* поля для основного св-ва, если тип = 1, то не указывается */
$element['if'] = ''; /* Условие */
/* Вот здесь передается ID доп. св-ва, по которому производится сортировка.
ID ВАШЕГО ПОЛЯ УКАЗЫВАЕТЕ ЗДЕСЬ */
$element['value'] = ''; // Значение поля (или параметра)
if ($count_condition != 0 && ($price_from > 0 || $price_to >0))
{
$param['sql_group_by'] = 'GROUP BY shop_items_catalog_table.shop_items_catalog_item_id';
$param['sql_having'] = "HAVING COUNT(shop_properties_items_table.shop_properties_items_id) = {$count_condition}";
}
else
{
$param['sql_having'] = 'HAVING 1 ';
}
$element['sufix'] = ' ) ';
/* Добавляем в общий список условий */
$param['select'][] = $element;
}
else
{
$param['sql_having'] = 'HAVING 1 ';
//$having_count = 'HAVING 1 ';
}
if ($price_from > 0)
{
$param['sql_having'] .= ' AND item_price_absolute >=' . $price_from;
//$having_count .= ' AND item_price_absolute >=' . $price_from;
}
if ($price_to > 0)
{
$param['sql_having'] .= ' AND item_price_absolute <=' . $price_to;
//$having_count .= ' AND item_price_absolute <=' . $price_to;
}
/* добавляем конечный элемент, содержащий HAVING */
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
$element['prefix'] = ' AND';
$element['name'] = 'shop_items_catalog_table.shop_shops_id'; /* Имя */
$element['if'] = '='; /* Условие */
$element['value'] = $current_shop_id; // Значение поля (или параметра)
$element['sufix'] = '';
//$element['sufix'] = $having_count;
/* Добавляем в общий список условий */
$param['select'][] = $element;
if (!empty($property_xml))
{
$external_propertys['property_xml'] = $property_xml;
}
// Если передано имя тэга - фильтруем
if (isset($GLOBALS['shop_item_path']['tag_name']))
{
if (class_exists('Tag'))
{
$oTag = & singleton('Tag');
$tag_row = $oTag->GetTagByName($GLOBALS['shop_item_path']['tag_name']);
$param['tags'] = array($tag_row['tag_id']);
// При выводе тэгов вывод элементов ведется из всех групп
$param['current_group_id'] = false;
}
}
// При выводе списка товаров получать подробное описание каждого товара не нужно
$param['show_text'] = false;
// При выводе списка товаров получать сопутствующие товары не нужно
$param['xml_show_tying_products'] = false;
// Разрешаем передачу в XML свойств групп
$param['xml_show_group_property'] = true;
$shop->ShowShop($current_shop_id, $xsl_catalog, $param, $external_propertys);
}
else
{
/* Вывод конкретного элемент */
$shop->ShowItem($GLOBALS['shop_item_path']['item'], $xsl_item, $param, $external_propertys);
}
}
?>
tomweb, так как у Вас используется фильтр по двум свойствам (133 и 139), то вместо
$count_condition = 3;
необходимо задать
$count_condition = 2;
$count_condition = 3;
необходимо задать
$count_condition = 2;
Если имеется фрагмент кода: (жирным выделено то, что я вставил)
В результате выдает следующую ошибку:
* Каталог матрасов
* Выбор по параметрам
* Как сделать заказ
* О доставке
* Отзывы
* Контакты
Категории товаров
Добавить информацию о товареДобавить информацию о группе товаровРедактировать магазин
* Пружинные матрасы
* Беспружинные матрасы
* Ортопедические матрасы
* Кокосовые матрасы
* Латексные матрасы
* Детские матрасы
Полезная информация
Добавить информационный элементДобавить информационную группуРедактировать инфосистему
УЕФА объявляет Canon официальным спонсором УЕФА ЕВРО 2008™
Компания Canon Europe сегодня была объявлена официальным спонсором чемпионата Европы по футболу — УЕФА ЕВРО 2008TM, который состоится в Австрии и Швейцарии в июне 2008 года.
далее
Canon украсил фотоаппараты бриллиантами
Европейское подразделение японской компании Canon начала выпуск весьма оригинальных цифровых фотоаппаратов Diamond IXUS. Уже из одного названия понятно, что потребителей собираются поразить необычными дизайнерскими находками, что в общем вполне закономерно, учитывая направленность серии IXUS, которой недавно исполнилось 10 лет.далее
"Яндекс" запустил систему контекстной рекламы
Системы платы за клики существуют в Глобальной сети уже не первый год, однако успех контекстной рекламы на альтернативных сетевых площадках пришел с внедрением компанией Google …
далее
Все статьи
Добавить информацию о товареДобавить информацию о группе товаровРедактировать магазин
Ошибка выполнения запроса! - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND shop_list_of_properties_table.shop_list_of_properties_id=133 AND shop_proper' at line 5
Может быть это из-за того, что для дополнительных свойств я выбрал способ отоброжения "не отображать". А поля для ввода ограничений прописал сам в ручную. Например: <input name="height_from" type="text" />
Может быть из-за этого?
if ($resource_properties)
{
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
/* Префикс, если нужен. */
$element['prefix'] = ' and ('; // префикс
/* ОСТАВЛЯЕТЕ БЕЗ ИЗМЕНЕНИЙ, ЭТО НУЖНО ДЛЯ СОРТИРОВКИ */
$element['name'] = ''; // Имя
/* поля для основного св-ва, если тип = 1, то не указывается */
$element['if'] = ''; // Условие
/* Вот здесь передается ID доп. св-ва, по которому производится сортировка.
ID ВАШЕГО ПОЛЯ УКАЗЫВАЕТЕ ЗДЕСЬ */
$element['value'] = ''; /* Значение поля (или параметра) */
$element['sufix']=' ';
/* Добавляем в общий список условий */
$param['select'][] = $element;
$element = array();
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 133; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = 'AND'; // префикс
$element['name'] = ''; // Имя
$element['if'] = '>='; // Условие
$element['value'] = to_int($_GET['height_from']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
$element = array();
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 133; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = 'AND'; // префикс
$element['if'] = '<='; // Условие
$element['value'] = to_int($_GET['height_to']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
$element = array();
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 139; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = 'AND'; // префикс
$element['if'] = '>='; // Условие
$element['value'] = to_int($_GET['max_weight']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
$count_condition = 2;
{
$element['type'] = 0; /* 0 - основное св-во, 1 - дополнительное */
/* Префикс, если нужен. */
$element['prefix'] = ' and ('; // префикс
/* ОСТАВЛЯЕТЕ БЕЗ ИЗМЕНЕНИЙ, ЭТО НУЖНО ДЛЯ СОРТИРОВКИ */
$element['name'] = ''; // Имя
/* поля для основного св-ва, если тип = 1, то не указывается */
$element['if'] = ''; // Условие
/* Вот здесь передается ID доп. св-ва, по которому производится сортировка.
ID ВАШЕГО ПОЛЯ УКАЗЫВАЕТЕ ЗДЕСЬ */
$element['value'] = ''; /* Значение поля (или параметра) */
$element['sufix']=' ';
/* Добавляем в общий список условий */
$param['select'][] = $element;
$element = array();
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 133; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = 'AND'; // префикс
$element['name'] = ''; // Имя
$element['if'] = '>='; // Условие
$element['value'] = to_int($_GET['height_from']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
$element = array();
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 133; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = 'AND'; // префикс
$element['if'] = '<='; // Условие
$element['value'] = to_int($_GET['height_to']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
$element = array();
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 139; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = 'AND'; // префикс
$element['if'] = '>='; // Условие
$element['value'] = to_int($_GET['max_weight']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
$count_condition = 2;
В результате выдает следующую ошибку:
* Каталог матрасов
* Выбор по параметрам
* Как сделать заказ
* О доставке
* Отзывы
* Контакты
Категории товаров
Добавить информацию о товареДобавить информацию о группе товаровРедактировать магазин
* Пружинные матрасы
* Беспружинные матрасы
* Ортопедические матрасы
* Кокосовые матрасы
* Латексные матрасы
* Детские матрасы
Полезная информация
Добавить информационный элементДобавить информационную группуРедактировать инфосистему
УЕФА объявляет Canon официальным спонсором УЕФА ЕВРО 2008™
Компания Canon Europe сегодня была объявлена официальным спонсором чемпионата Европы по футболу — УЕФА ЕВРО 2008TM, который состоится в Австрии и Швейцарии в июне 2008 года.
далее
Canon украсил фотоаппараты бриллиантами
Европейское подразделение японской компании Canon начала выпуск весьма оригинальных цифровых фотоаппаратов Diamond IXUS. Уже из одного названия понятно, что потребителей собираются поразить необычными дизайнерскими находками, что в общем вполне закономерно, учитывая направленность серии IXUS, которой недавно исполнилось 10 лет.далее
"Яндекс" запустил систему контекстной рекламы
Системы платы за клики существуют в Глобальной сети уже не первый год, однако успех контекстной рекламы на альтернативных сетевых площадках пришел с внедрением компанией Google …
далее
Все статьи
Добавить информацию о товареДобавить информацию о группе товаровРедактировать магазин
Ошибка выполнения запроса! - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND shop_list_of_properties_table.shop_list_of_properties_id=133 AND shop_proper' at line 5
Может быть это из-за того, что для дополнительных свойств я выбрал способ отоброжения "не отображать". А поля для ввода ограничений прописал сам в ручную. Например: <input name="height_from" type="text" />
Может быть из-за этого?
Извиняюсь, вот текст ошибки:
Ошибка выполнения запроса! - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND shop_list_of_properties_table.shop_list_of_properties_id=133 AND shop_proper' at line 5
Ошибка выполнения запроса! - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND shop_list_of_properties_table.shop_list_of_properties_id=133 AND shop_proper' at line 5
tomweb,
у Вас 2 раза подряд идет "AND" в запросе:
1-й раз:
$element['prefix'] = ' and ('; // префикс
2-й раз:
$element['property_id'] = 133; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = 'AND'; // префикс
Последню строчку надо писать так:
$element['prefix'] = ''; // префикс
у Вас 2 раза подряд идет "AND" в запросе:
1-й раз:
$element['prefix'] = ' and ('; // префикс
2-й раз:
$element['property_id'] = 133; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = 'AND'; // префикс
Последню строчку надо писать так:
$element['prefix'] = ''; // префикс
Делаю так:
Все равно пишет:
Ошибка выполнения запроса! - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND shop_list_of_properties_table.shop_list_of_properties_id=133 AND shop_proper' at line 5
Никак не могу разобраться в чем тут проблема.
$element = array();
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 133; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = 'AND'; // префикс
$element['name'] = ''; // Имя
$element['if'] = '>='; // Условие
$element['value'] = to_int($_GET['height_from']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
$element = array();
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 133; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = 'AND'; // префикс
$element['if'] = '<='; // Условие
$element['value'] = to_int($_GET['height_to']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
$element = array();
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 139; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = ''; // префикс
$element['if'] = '>='; // Условие
$element['value'] = to_int($_GET['max_weight']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
$count_condition = 2;
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 133; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = 'AND'; // префикс
$element['name'] = ''; // Имя
$element['if'] = '>='; // Условие
$element['value'] = to_int($_GET['height_from']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
$element = array();
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 133; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = 'AND'; // префикс
$element['if'] = '<='; // Условие
$element['value'] = to_int($_GET['height_to']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
$element = array();
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 139; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = ''; // префикс
$element['if'] = '>='; // Условие
$element['value'] = to_int($_GET['max_weight']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
$count_condition = 2;
Все равно пишет:
Ошибка выполнения запроса! - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND shop_list_of_properties_table.shop_list_of_properties_id=133 AND shop_proper' at line 5
Никак не могу разобраться в чем тут проблема.
tomweb, Вы не правильно поняли подсказку, которую дал bie. "AND" надо было убрать не в
$element = array();
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 139; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = ''; // префикс
$element['if'] = '>='; // Условие
$element['value'] = to_int($_GET['max_weight']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
а в
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 133; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = 'AND'; // префикс
$element['name'] = ''; // Имя
$element['if'] = '>='; // Условие
$element['value'] = to_int($_GET['height_from']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
$element = array();
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 139; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = ''; // префикс
$element['if'] = '>='; // Условие
$element['value'] = to_int($_GET['max_weight']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
а в
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['property_id'] = 133; // ID дополнительного св-ва, указывается если тип = 1
$element['prefix'] = 'AND'; // префикс
$element['name'] = ''; // Имя
$element['if'] = '>='; // Условие
$element['value'] = to_int($_GET['height_from']);
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше
Авторизация