我对while循环有问题。所以我有一个代码,插入feed和多个带有特定随机代码的文件。例如,我有一个名为“feed”的表
ID | FEED | FILE | CODE
---------------------------------------
1 |Test post |uploads/1.jpg | 54231
2 |Test post |uploads/2.jpg | 54231
3 |Test post |uploads/3.jpg | 54231
4 |Test post |uploads/4.jpg | 54231
如果代码在while循环中重复,我只需要打印一次feed。这是我的密码:
<?php
$connect = mysqli_connect("localhost","root","","test");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$q = mysqli_query($connect,"SELECT * FROM feed");
$fetch = mysqli_fetch_array($q);
while($fetch = mysqli_fetch_array($q)) {
echo '<div class="post">'.$fetch['feed'].$fetch['file].'</div><br>';
}
?>
以上代码输出:
Test postuploads/1.jpg
Test postuploads/2.jpg
Test postuploads/3.jpg
Test postuploads/4.jpg
我需要这样的东西:
Test post uploads/1.jpg / uploads/2.jpg/ uploads/3.jpg/ uploads/4.jpg
如何做到这一点?提前谢谢!
3条答案
按热度按时间vshtjzan1#
uplii1fm2#
尝试此查询这将按代码分组文件
有关group\u concat的更多信息,请参见此处group\u concat逗号分隔符-mysql
ncecgwcz3#
最简单的解决方案是将查询更改为使用
GROUP BY
做一个GROUP CONCAT
在FILE
:这将给你一行每
CODE
输出值,如下所示:如果你想要一个除
,
例如。/
,更改GROUP_CONCAT
到rextester上的演示
更新
php代码中还有一个错误,您正在设置
$fetch = mysqli_fetch_array($q)
在while循环之前,然后不使用它做任何事情,因此会丢失一行值。请尝试以下代码: