[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: сопутствующие товары для интернет магазина
AndreyChaki
Здравствуйте!
имеется интернет-магазин (в разработке) и клиенту очень нужен блок "сопутствующие товары", то есть внизу каждой конечной страницы каталога есть блок с 5 товарами (похожие или комплект к тому что покупаем)

наполнение каталога идет посредством CSV. у каждого товара есть уникальный артикул и список артикулов похожих товаров. все это благополучно пишется в базу

знаний хватило только на то, что бы извлечь список артикулов и записать их в массив (используя explode())

подскажите как сделать выборку из БД, и далее записать все это в smarty переменную





Спустя 1 час, 41 минута, 59 секунд (22.06.2012 - 10:54) AndreyChaki написал(а):
небольшое дополнение



$artikuls=array();
$artikuls=explode(",", $item['soptovar']);

$db->query("select caption,id,part,price from ".$this->type."Item where kod='".$artikuls[0]."' and publish=1");
while($row=$db->row())
$artikuls2[]=$row;


как мне сделать выборку не по одному значению $artikuls[0], а по всем элементам этого массива?

Спустя 8 минут, 20 секунд (22.06.2012 - 11:03) varvar написал(а):
если $item["soptovar"] содержит строку вида "item1,item2,item2" (делаю вывод на основе того, что ты используешь explode), то можно так:


$db->query("select caption,id,part,price from ".$this->type."Item where kod in ('".implode("','",$artikuls)."') and publish=1");

Спустя 32 минуты, 14 секунд (22.06.2012 - 11:35) AndreyChaki написал(а):
огромное спасибо!
получилось реализовать блок сопутствующих товаров

Спустя 7 минут, 3 секунды (22.06.2012 - 11:42) AndreyChaki написал(а):
а могу ли я использовать вместо kod in ('".implode("','",$artikuls)."') напрямую $item['soptovar']
ведь именно ее я сперва разбиваю explode`ом по запятой

Спустя 6 минут, 18 секунд (22.06.2012 - 11:48) varvar написал(а):
в SQL запросе каждый элемент массива $item должен быть взят в кавычки 'item', иначе SQL запрос выдаст ошибку, так как каждый элемент в этом массиве - это строка

еслиб $item содержал только числа, например id-ки строк, то можно было бы вставить прямо в запрос, предварительно не разбивая...

Спустя 28 минут, 25 секунд (22.06.2012 - 12:17) AndreyChaki написал(а):
подскажите пожалуйста еще 1 момент,
нужно сделать еще 1 запрос в бд


$db->query("select caption from ".$this->type."Part where id='".$artikuls['part']."' ");


этим я получу название разделов товара. как дописывать полученное значение в массив $artikuls и где по коду записать выборку из БД?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.