php - 在表中列出结果 - While 循环并在 TD 中列出结果

标签 php mysql

我试图找到这个问题的答案,但没有任何乐趣。我有一个 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/

相关文章:

php - Laravel 在哪里使用 if else

php - 在子模型中使用多态关系会导致无限循环?

php - 使用 Laravel 将项目 ID 附加到 slug 或通过 slug 在 MySQL 中查找

mysql - 使用 MySQL 的 FOR UPDATE 锁定时,究竟锁定了什么?

c# - 用一个或多个 "select"命令填充 DataTable

PHP 链接到根文件夹外的图像 [a href, not img src]

php - MySQL 从查询结果中获取数据

mysql - 避免 "#1060 - Duplicate column name"错误,但仍然使用 SELECT *

mysql - 连接另一个表并使用 2 个字段进行计数时如何按计数排序

MySQL谜题: How to combine result in Loop?