1

我使用explode获取一组照片文件名并将它们放入一个字符串中,以便我可以将它们存储在mysql数据库中,它们存储在一个名为“imagesordered”的字段中,如下所示:329722360536.jpeg,278255684690.jpeg,813207971421 .jpg 所以它们用逗号分隔。

到目前为止,我有以下内容可以将它们从数据库中拉出:

    include("connect.php");
    $sql = <<<SQL
        SELECT *
        FROM `albumorders`
    SQL;


    if(!$result = $db->query($sql)){
        die('There was an error running the query [' . $db->error . ']');
    }
    while($row = $result->fetch_assoc()){
        $albumid = $row['albumid'];
        $albumname = $row['albumname'];
        $imagesordered = $row['imagesordered'];

        }

问题是我只是回显字符串,我需要它做的是在单独的行上回显每个值减去逗号,但只运行一次 while 循环,因为每条记录都有很多照片与它相关联,因此理想情况下,在每次运行 while 循环时,我都会得到:

专辑编号:34n3jn43n
专辑名称:鲍勃专辑
专辑订单:
3433434.jpg
3434343.jpg
3434343.jpg
2323243.jpg

然后进入下一条记录......

但我不知道该怎么做?

4

3 回答 3

1

Kasun Rajapaksha 正在努力

检查并为每个添加<br>标签,但忘记循环:

$imagesordered = str_replace(',', '<br>', $row['imagesordered']);

于 2013-09-26T07:12:13.877 回答
1

做这个:

while($row = $result->fetch_assoc()){
    $albumid = $row['albumid'];
    $albumname = $row['albumname'];
    $imagesordered = $row['imagesordered'];
    $imageArr = explode(',',$imagesordered);
    foreach($imageArr as $images){
       echo $images;
    }

}
于 2013-09-26T06:53:11.703 回答
1

尝试这个

while($row = $result->fetch_assoc()){
    $albumid = $row['albumid'];
    $albumname = $row['albumname'];
    $imagesordered = $row['imagesordered'];

    $img_arrary = explode(',',$imagesordered);      

    echo 'Album Id : '.$albumid."<br>";
    echo 'Album Name :'.$albumname."<br>";
    echo 'Album Orders :<br>';
    foreach($img_arrary as $key=>$value)
    {
        echo $value."<br>"; 
    }

}

于 2013-09-26T06:52:35.100 回答