не могу разобраться, как вывести несколько фотографий для конкретной записи. Выводится только одно изображение. Есть две таблицы: products со списком товаров и gallery со списком изображений.
<?php
require $_SERVER['DOCUMENT_ROOT'].'/config/safemysql.class.php';
$db = new safeMysql();
$id = isset($_GET['id']) ? $_GET['id'] : false;
$sql = "SELECT products.*, gallery.* FROM products INNER JOIN gallery on products.id=gallery.id_products WHERE id_products=$id ";
$data = $db->getAll($sql);
$rows = $db->getOne("SELECT FOUND_ROWS()");
?>
<? foreach ($data as $row): ?>
<div class="product__thumb product__thumb--active">
<img class="product__thumb-image" src="content/products/<?=$row['img']?>" width="71" height="47" alt="" />
</div>
<? endforeach ?>
В первую очередь, safeMysql используется неправильно Да и вообще ошибки на каждой строчке
а список картинок можно получить функцией group_concat
if (!isset($_GET['id']) || !ctype_digit($_GET['id']) {
die('invalid request');
}
$db = new safeMysql();
$sql = "SELECT p.*, group_concat(g.img)
FROM products p INNER JOIN gallery g on p.id=g.id_products
WHERE id_products=?i GROUP BY p.id";
$row = $db->getRow($sql, $_GET['id']);
?>
<?php foreach (explode(",",$row['img']) as $img): ?>
<div class="product__thumb product__thumb--active">
<img class="product__thumb-image" src="content/products/<?=$img>" width="71" height="47" alt="" />
</div>
<?php endforeach ?>
Либо, если это очень сложно для понимания, то просто запросить картинки отдельным запросом
Сборка персонального компьютера от Artline: умный выбор для современных пользователей