如何循环浏览存储在mysql中的用户库图片

问题描述 投票:0回答:1

我有下表中的照片,用户在其中存储基于其user_id的一堆图像。

id:1 |user_photos:image1 |user_id:3

id:2 |user_photos:image2 |user_id:3

id:3 |user_photos:image3 |user_id:3

id:4 |user_photos:image4 |user_id:2

我如何获取user_id 3数据并将其显示在图像标签中以显示该用户的3张图片。

后端数据库代码

let select_photos_sql = "SELECT * FROM photos WHERE user_id = ?";
 mysql_connection.query(select_photos_sql, [session_id], function (error, 
rows) {
if(error){
    res.send("An error has occurred, please try again later.");
} else {

    if(rows.length > 0){ 

        var photos_arr = [];
        var photo_count = 0;
        rows.forEach(function (row) {

            let photos = row.user_photos;

            console.log(photos);
            photos_arr.push(photos);
            photo_count = photo_count+1;
        });
        if (photo_count == rows.length) {
            res.render("user_photos", {photos: photos_arr});
        }

    } else {
        res.send("No photos found.");
    }
}
});

上面的代码将用户数据放入数组... [图像,图像,图像]。这没有用,因为当我尝试将其放入图像标签时,将导致以下结果... image src =“ image,image,image”。如何单独显示。我原本希望有3个图片标签。

user_photos.ejs

<% for(let i = 0; i < photos.length; i++){ %>
        <img src="<%= photos %>" alt="">
    <% } %>

由于该特定用户有3张不同的图像,我想查看与此用户对应的3个不同的图像标签。我感谢大家的帮助。谢谢!

javascript mysql node.js ejs
1个回答
0
投票

在src属性中,您传递了整个数组。在下面,您可以找到一个使用for of循环而不是经典循环的示例。

<% for(let photo of photos){ %>
     <img src="<%= photo %>" alt="">
 <% } %>
© www.soinside.com 2019 - 2024. All rights reserved.