Всем привет!Не могу разобраться как вывести в каталоге товаров изображения для слайдера предпросмотра товара.
Уже второй день маюсь с этим, не нахожу решение для создания и вывода дополнительного массива из функции products которая представлена ниже.
Возможно ли в функции products прописать создание массива для вывода img_slide или для этого лучше создать отдельную функцию?
База данных:
В таблице goods есть столбец с img_slide содержащий названия изображений [69_0.jpg|69_1.jpg|69_2.jpg|69_3.jpg|69_4.jpg]
Создаю функцию и получаю массив товаров:
function products($category, $order_db, $start_pos, $perpage){
$query = "(SELECT goods_id, name, img, img_slide, keywords, description, anons, price, hits, goods_brands_name
FROM goods
WHERE goods_brandid = $category AND visible='1')
UNION
(SELECT goods_id, name, img, img_slide, keywords, description, anons, price, hits, goods_brands_name
FROM goods
WHERE goods_brandid IN
(
SELECT brand_id FROM brands WHERE parent_id = $category
) AND visible='1') ORDER BY $order_db LIMIT $start_pos, $perpage";
$res = mysql_query($query) or die(mysql_error());
$products = array();
while($row = mysql_fetch_assoc($res)){
$products[] = $row;
}
return $products;
}
case('cat'):
// товары категории
$category = abs((int)$_GET['category']);
/* =====Сортировка===== */
// массив параметров сортировки
// ключи - то, что передаем GET-параметром
// значения - то, что показываем пользователю и часть SQL-запроса, который передаем в модель
$order_p = array(
'pricea' => array('от дешевых к дорогим', 'price ASC'),
'priced' => array('от дорогих к дешевым', 'price DESC'),
'datea' => array('по дате добавления - к последним', 'date ASC'),
'dated' => array('по дате добавления - с последних', 'date DESC'),
'salea' => array('сначало акции', 'sale DESC'),
'hitsed' => array('сначало скидки', 'hits DESC'),
'namea' => array('от А до Я', 'name ASC'),
'named' => array('от Я до А', 'name DESC')
);
$order_get = clear($_GET['order']); // получаем возможный параметр сортировки
if(array_key_exists($order_get, $order_p)){
$order = $order_p[$order_get][0];
$order_db = $order_p[$order_get][1];
}else{
// по умолчанию сортировка по первому элементу массива order_p
$order = $order_p['namea'][0];
$order_db = $order_p['namea'][1];
}
/* =====Сортировка===== */
// параметры для навигации
$perpage = PERPAGE; // кол-во товаров на страницу
if(isset($_GET['page'])){
$page = (int)$_GET['page'];
if($page < 1) $page = 1;
}else{
$page = 1;
}
$count_rows = count_rows($category); // общее кол-во товаров
$pages_count = ceil($count_rows / $perpage); // кол-во страниц
if(!$pages_count) $pages_count = 1; // минимум 1 страница
if($page > $pages_count) $page = $pages_count; // если запрошенная страница больше максимума
$start_pos = ($page - 1) * $perpage; // начальная позиция для запроса
$brand_name = brand_name($category); // хлебные крохи
$products = products($category, $order_db, $start_pos, $perpage); // получаем массив из модели
$meta['title'] = $brand_name[0]['brand_name'];
if($brand_name[1]) $meta['title'] .= " - {$brand_name[1]['brand_name']}";
$meta['title'] .= "" ;
$meta['description'] = "{$brand_name[1]['brand_name']} ";
break;
Вывод на .php
<?php if($products): // если есть товары категории ?>
<?php foreach($products as $product): ?>
<Здесь структура товара>
<здесь фото кликбейт>
<?php foreach($product['img_slide'] as $product_slider): ?> // для примера как я это представляю
<здесь хочу сделать cлайдер предпросмотра>
<?php endforeach; ?>
</Здесь структура товара>
<?php endforeach; ?>
<?php endif; ?>
Пытался как можно лучше раскрыть суть, буду благодарен если поможете с направлений где прочитать или искать примеры подобных решений, сам я только учусь.
UPD
Решил проблему создав еще одну функцию.