我试图显示1个表行,然后在下面使用PHP和mySQL从另一个表中显示多个图像url(图像数量可能在1到20之间)。
我在SQL中使用join语句,所以我可以获得mycode列,这对两个表都是相同的。然后使用两个while循环显示数据。
$sql = "SELECT possessions.id,possessions.description,images.url,possessions.mycode,possessions.category
FROM possessions
RIGHT JOIN images ON possessions.mycode=images.mycode
ORDER BY possessions.id";
if ($result = mysqli_query($con, $sql)) {
while ($row = mysqli_fetch_row($result)) {
$mycode = $row[3];
$sql2 = "SELECT images.url FROM images WHERE images.mycode=$mycode";
echo "</br></br>";
echo "description = " . $row[1];
echo "</br></br>";
if ($result2 = mysqli_query($con, $sql2)) {
while ($rows = mysqli_fetch_row($result2)) {
echo $rows[0];
}
} else {
echo "Error: " . $sql2 . "<br>" . $conn->error;
}
}
}
如您所见,结果显示了两次,在此示例的下面有两个URL,我只想在两个URL的下面显示一次描述。
description = Torch 18650
../upload/1563614178.jpg../upload/1563617891.jpg
description = Torch 18650
../upload/1563614178.jpg../upload/1563617891.jpg
我知道这样做的原因是sql语句中的联接,但是我需要运行它,以便可以从images表中获取mycode列以在第二个sql查询中使用。
SQL查询输出。
1 description url mycode category
6 Torch 18650 ../upload/1563614178.jpg 522 Electronics
6 Torch 18650 ../upload/1563617891.jpg 522 Electronics