我试图找到这个问题的答案,但没有任何乐趣。我有一个 while 循环,可以在表中输出大量行。在这里:
$result = mysqli_query($con,"SELECT a.winner AS horseWinner, a.twitter_pubstatus,
a.market, a.racetime, a.racecourse, a.date_dd, a.date_mm, b.username, b.course,
b.horse,b.type, b.racetime, b.dd, b.mm FROM results a
INNER JOIN bets b ON a.winner = b.horse WHERE a.twitter_pubstatus = 0
AND a.market = '$win' AND b.type = '$userwin'
AND a.date_dd = b.dd AND a.date_mm = b.mm GROUP BY a.winner");
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['horseWinner'] . "</td>";
echo "<td>" . $row['username'] . "</td>";
echo "</tr>";
}
echo "</table>";
这一切都很好,但问题在于每个 horseWinner 都有多个用户名。我尝试在 while 循环内执行另一个 while 循环。所以我希望它在第二列中列出用户名,并用逗号分隔。
非常感谢
最佳答案
添加GROUP_CONCAT()
您的用户名
,以便返回逗号分隔的列表 -
SELECT a.winner AS horseWinner, a.twitter_pubstatus,
a.market, a.racetime, a.racecourse, a.date_dd, a.date_mm,
GROUP_CONCAT(b.username) as username,
b.course, b.horse,b.type, b.racetime, b.dd, b.mm FROM results a
INNER JOIN bets b ON a.winner = b.horse WHERE a.twitter_pubstatus = 0
AND a.market = '$win' AND b.type = '$userwin'
AND a.date_dd = b.dd AND a.date_mm = b.mm GROUP BY a.winner
关于php - 在表中列出结果 - While 循环并在 TD 中列出结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22820859/