Я создаю веб-страницу с множеством альбомов. Он будет отображать изображения, когда я нажимаю один из альбомов.Несколько таблиц отображают php MySQL
ISSUE 1: Проблема, с которой я сталкиваюсь сейчас, заключается в том, что все изображения из разных альбомов будут отображаться при нажатии на один из альбомов.
ВЫПУСК 2: В файле php, который находится после щелчка по альбому. Я хочу, чтобы отобразить только один снимок только для одного продукта, но мой код, кажется, не работает правильно
t1.recordid = t2.categoryrecordid
t2.productrecordid = t3.productid
Структура моей таблицы MySQL дизайн: Категория:
Productimage:
Код для моего альбома:
<div class="row">
<?php
$stmt = $DB_con->prepare('SELECT recordid, catcode,title,imgfile,catdesc FROM category ORDER BY recordid DESC');
$stmt->execute();
if ($stmt->rowCount() > 0) {
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
extract($row);
?>
<div class="col-xs-3">
<p><img src="./images/<?php echo $row['catcode']?>/<?php echo $row['imgfile']; ?>" class="img-rounded" width="190px" height="160px" /></p>
<p><a class="page-header" href="collectionGallery.php?cat= <?php echo $row['catcode']; ?>"><?php echo $row['title']; ?></a></p> <br/>
</div>
<?php
}
} else {
?>
<div class="col-xs-12">
<div class="alert alert-warning">
<span class="glyphicon glyphicon-info-sign"></span> No Data Found ...
</div>
</div>
<?php
}
?>
</div>
</div>
Код после того как я щелкая на альбоме (дисплейных изображений этого альбома):
<div class="row">
<?php
$stmt = $DB_con->prepare('SELECT category.*, product.*, productimage.* FROM category JOIN product ON product.categoryrecordid=category.recordid JOIN productimage ON productimage.productid=product.productrecordid');
$stmt->execute();
if ($stmt->rowCount() > 0) {
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
extract($row);
?>
<div class="col-xs-3">
<p><img src="./images/<?php echo $row['catcode'].'/'. $row['imagefilename']; ?>" class="img-rounded" width="190px" height="160px" /></p>
<p><?php echo $row['productcode'].' Price:'.$row['price']; ?></a></p>
</div>
<?php
}
} else {
?>
<div class="col-xs-12">
<div class="alert alert-warning">
<span class="glyphicon glyphicon-info-sign"></span> No Data Found ...
</div>
</div>
<?php
}
?>
</div>
Ваш SQL-запрос выбирает все записи , а не только тот, который был нажат. То, что вы ищете, называется предложением WHERE: https://dev.mysql.com/doc/refman/5.7/en/select.html. В основном вам нужно конкретно определить запись, которую вы хотите отобразить, а не просто показывая все из них. – David
Спасибо за ответ! Но как мне изменить, чтобы каждый из альбомов показывал только те изображения, к которым они принадлежат. У меня есть вопросы, связанные с вещами сверху. – xhinvis
Для отображения изображений по альбомам вам нужно использовать 'WHERE' и несколько других изменений, таких как добавление нескольких таблиц в базу данных' ELSE', если вы хотите, чтобы я мог отправить вам небольшой пример, связанный с этим. –