" LEFT JOIN {shop_price} AS pr ON pr.good_id=s.id AND pr.trash='0'"
." AND pr.date_start<=".time()." AND (pr.date_start=0 OR pr.date_finish>=".time().")"
." AND pr.currency_id=0"
." AND pr.role_id".($this->diafan->_users->role_id ? " IN (0,".$this->diafan->_users->role_id.")":"=0")
." AND (pr.person='0'".($this->person_discount_ids ? " OR pr.discount_id IN(".implode(",",$this->person_discount_ids).")":"").")"
:'')
.($this->sort_config['use_params_for_sort'] ? " LEFT JOIN {shop_param_element} AS sp ON sp.element_id=s.id AND sp.trash='0' AND sp.param_id=".$this->sort_config['param_ids'][$this->diafan->_route->sort]:'')
.($this->diafan->configmodules('where_access_element') ? " LEFT JOIN {access} AS a ON a.element_id=s.id AND a.module_name='shop' AND a.element_type='element'":"")
.($cat_ids ? " INNER JOIN {shop_category_rel} AS r ON s.id=r.element_id":'')
." WHERE s.[act]='1' AND s.trash='0' "
.($cat_ids ? "AND r.cat_id IN (".implode(',',$cat_ids).")":'AND s.site_id='.$this->diafan->_site->id)
.($this->diafan->configmodules('where_period_element') ? " AND s.date_start<=".$time." AND (s.date_finish=0 OR s.date_finish>=".$time.")":'')
.($this->diafan->_route->brand ? " AND s.brand_id=".$this->diafan->_route->brand:'')
.($this->diafan->configmodules('where_access_element') ? " AND (s.access='0' OR s.access='1' AND a.role_id=".$this->diafan->_users->role_id.")":'')
Нужно поправить запрос, чтобы выводились товары соответствующие значению допхарактеристики (колонка value1, в таблице shop_param_element). Во вложении дамп базы с таблицами, которые относятся к запросу.
о самом главном умалчиваете, как в базе реализовано child-parent, т.е как прописывается, что у некоторой категории есть родитель (вышестоящая категория). В Вашем примере у "с тефлоном" родительская категория "Утюги". Обычно это реализуется в отдельной таблице вида id | id_категории | id родителя. Через JOIN подтягиваете эту таблицу в запрос и считаете.
Подскажите как удалить пустые ячейки. При этом сохранив структуру таблицы.
Вы опишите изначальную задачу, иначе совершенно ничего не понятно. Я, конечно, не профи, но код мягко говоря корявый и непонятно, что им пытаетесь реализовать. Для начала...массив не ассоциативный, можно прописать его так
у меня такая проблема. Есть 2 формы и таблица. В формах задается количество строк и количество ячеек в одной строке. Таблица генерируется 2 циклами. Каждая ячейка с формой. Когда водишь все значения в ячейки нажимаешь submit таблица просто исчезает. Вернее не исчезает а переменная кол-во ячеек и переменная кол-во строк исчезает. Далее предстоит вычисления. Но я хочу, чтобы таблица оставалась такая как была и значение оставались в форме. А вдруг пользователь ошибся и ему одно значение в форме нужно изменить. А не знаново вводить кол-во строк и кол-во ячеек таблицы. Мне кажется, что здесь нужно сессии или куки. Подскажите решение проблемы
Код вставьте в свой вопрос и тогда возможно на эту тему обратят внимание.
Нужно сделать отчёт. Должна указываться начальная дата и конечная дата, потом при нажатии кнопки сформировать. данные должны заноситься в отчёт. отчёт должен печататься.
Вы поставьте себя на место других. Что из Вашего сообщения можно понять? Отчет должен выводить начальную и конечную дату, которую вводит пользователь? Чем точнее сформулируете, тем выше шанс, что ответят
$value["id"]=$_POST['значение характеристики из формы'];
Формой передаю через POST значение характеристики. Цена товара отображается в соответствие с характеристикой.
Фильтрация вывода похоже здесь не правится, есть файл с моделью, похоже там поковырять нужно.
Так... Пробуем дальше рассуждать.
в JS я вижу как раз формы для пользователя чтобы он выбирал характеристики. И там как раз определяются эти параметры, а PHP выводит на экран товары.
Тут напрашивается с первого взгляда (новичка)) передача с помощью AJAX методом "$.post" в обработчик на PHP где он и преобразует массив из JS как вам нужно.
Характеристики выводятся PHP, пользователь через select выбирает характеристику, характеристика передается в JS и JS возвращает цену, которая соответствует характеристике.
По-идее, JS вообще трогать не нужно. Нужно поправить PHP код, чтобы он принимал значение характеристики, делал выборку по товару в соответствие с характеристикой (т.е. выдавались только товары у которых есть данная характеристика и ее значение соответствует выбранному пользователем).
Если бы Вы написали, как предлагаете это условие в цикле реализовать, то я бы мог предметно ответить. Решение задачи можно по-разному реализовать, тут как раз дело в конкретике, кто как видит решение...
Т.е. где js там юзер выбирает характеристики и нужно чтобы по этим выбранным характеристикам производилась фильтрация в выводе на PHP ? Так? Или я не так понял?
Честно говоря, с JS у меня совсем никак. Насколько я понимаю, PHP получает данные из базы, а JS выводит цену в зависимости от выбранной характеристики. Изначально характеристика выбирается в карточке товара из селекта, после чего JS отображает цену, которая соответствует значению характеристики. Мне нужно сделать, чтобы пользователь выбирал характеристику (она сохранялась до момента, пока пользователь не выберет другую характеристику), переходил на страницу каталога, где выдача была отфильтрована в соответствии с данной характеристикой.
[/quote]
Добрый.
А куда передавать хотите? Не совсем понятно. И нельзя ли прям в цикле условие составить?[/quote]
Если бы Вы написали, как предлагаете это условие в цикле реализовать, то я бы мог предметно ответить. Решение задачи можно по-разному реализовать, тут как раз дело в конкретике, кто как видит решение...
В шаблоне (1й спойлер) все цены товара выводяться циклом foreach ($result["row"]["price_arr"] as $price)
Внутри него характеристики цены находятся в цикле $price["param"].
Нужно передать значение характеристики (через переменную в глобальном массиве или сессию или...Ваши варианты) и значение этой переменной сравнивать со значениями в $price["param"], чтобы выводить только товары, соответствующие значению характеристики.
Пробовал передавать формой через POST, не хочет фурычить...Помогите, пожалуйста, правильно задачу реализовать
echo'<span class="js_shop_one_click shop_one_click"><input type="button" value="'.$this->diafan->_('Купить в один клик',false).'" action="one_click"></span>';