私は多くのアルバムを持つWebページを構築しています。アルバムの1つをクリックすると画像が表示されます。複数のテーブルにPHPが表示されるMySQL
問題1:私が今問題にしているのは、アルバムを1つだけクリックすると、異なるアルバムのすべての画像が表示されるということです。
問題2:アルバムをクリックした後のphpファイルです。私は1つの製品のみのための唯一の画像を表示したいが、私のコードは正しく
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'データベースにテーブルを追加するなど、いくつかの変更が必要です。 –