我正在構建一個擁有許多相冊的網頁。當我點擊其中一個相冊時,它將顯示圖像。多個表格顯示php MySQL
問題1:我現在遇到的問題是,當我只點擊一張專輯時,將顯示來自不同專輯的所有圖像。
問題2:在點擊相冊後的php文件。我想只顯示一個只有一個產品圖片,但我的代碼似乎不能正常工作
t1.recordid = t2.categoryrecordid
t2.productrecordid = t3.productid
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'添加少量表格,如果您希望我可以向您發送一個與此相關的小示例。 –