我正试图建立一个网站,让人们发布他们的汽车出售。我已经将数据发布到数据库中了。一切正常,但是当他们进入会员页面时,应该向他们显示添加了照片的汽车,并带有编辑按钮。
这是我显示添加的汽车的功能:
function get_user_auto($username) {
//extract from the database all the URLs this user has stored
$conn = db_connect();
$result = $conn->query("
SELECT
images.filename,
car_make.make,
car_model.model,
car_generation.name,
cars.year,
cars.price,
cars.car_id
FROM cars
LEFT JOIN car_make ON cars.make = car_make.make_id
LEFT JOIN car_model ON cars.model = car_model.model_id
LEFT JOIN car_generation ON cars.generation = car_generation.generation_id
LEFT JOIN images ON cars.car_id = images.car_id
WHERE cars.username = '$username';");
if (!$result) {
return false;
}
//create an array of the URLs
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$make = $row["make"];
$model = $row["model"];
$generation = $row["name"];
$year = $row["year"];
$price = $row["price"];
$filename = $row["filename"];
$imageURL = 'uploads/'.$filename;
?>
<img src="<?php echo $imageURL; ?>" alt="" width="100"/>
</div>
<div>
<?php echo "" . $make ." " . $model ." - " . $year ." " . $price ." USD";?>
<a href="edit_car_form.php">Edit</a>
</div>
</div>
<?php
}
} else {
echo "You did not add car for sale yet.";
}
}
所以,也就是说,我添加了一辆汽车,其中有car_id附加了3张照片,当我检索数据并回显它时,它会用3张不同的照片将同一辆汽车显示3次。
答案 0 :(得分:0)
因为您将它作为具有3张不同图像的3行发布到数据库中,所以
请分享邮政编码,我们可能会找到解决方法,
如果不是这种情况,并且您只能在数据库中看到一行(在phpmyadmin中检查),则对图像使用sql查询并显示它们,然后对汽车出轨使用不同的sql查询并回显详细信息,会显示3张图片,并且只显示一次汽车详细信息
答案 1 :(得分:0)
如果每辆车只需要一行,则可以添加GROUP BY
来进行查询
GROUP BY car_id
。不管car有多少张图片,每个car_id都只允许一行(但可能不会选择您喜欢的图片)。