显示具有不同图像的相同产品... PHP

时间:2018-10-05 11:13:14

标签: php

我正试图建立一个网站,让人们发布他们的汽车出售。我已经将数据发布到数据库中了。一切正常,但是当他们进入会员页面时,应该向他们显示添加了照片的汽车,并带有编辑按钮。

这是我显示添加的汽车的功能:

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次。

2 个答案:

答案 0 :(得分:0)

因为您将它作为具有3张不同图像的3行发布到数据库中,所以

请分享邮政编码,我们可能会找到解决方法,

如果不是这种情况,并且您只能在数据库中看到一行(在phpmyadmin中检查),则对图像使用sql查询并显示它们,然后对汽车出轨使用不同的sql查询并回显详细信息,会显示3张图片,并且只显示一次汽车详细信息

答案 1 :(得分:0)

如果每辆车只需要一行,则可以添加GROUP BY来进行查询 GROUP BY car_id。不管car有多少张图片,每个car_id都只允许一行(但可能不会选择您喜欢的图片)。