gpt4 book ai didi

php - 如何显示用户在 MySQL 和 PHP 中出现一次的多个结果?

转载 作者:行者123 更新时间:2023-11-30 23:06:15 25 4
gpt4 key购买 nike

现在我正在设计一个查询来获取用户名和他们发布的内容

这里是表“user”和“post”中的字段

user: user_name, u_id

post: p_id, u_id, content

我想写一个查询来像那样显示

user_name        content

Cherry hi,i am cherry
hello
Tom good day today=)

但不是

user_name        content

Cherry hi,i am cherry
Cherry hello
Tom good day today=)

我怎样才能在 PHP 上以表格形式实现它?

最佳答案

GROUP_CONCAT 应该对你有帮助。您可以阅读有关它的文档 here .

您的查询可能如下所示:

select user_name, group_concat(content,"\n") from post group by user_name;

这会将每个用户的所有帖子组合在一起,然后将用户所有行的 content 字段连接成一个由换行符分隔的字符串。

你可以看到 SQLFiddle with query and results here

(请记住,默认情况下,SQLFiddle 在表格 HTML 中打印其结果。选择 Run SQL -> Plaintext Output 以查看打印出的实际换行符)

已编辑(在下方添加内容)

如果你想用PHP来处理这个,你可以这样做:

$query = 'select user_name, group_concat(content,"\n") as contents from post group by user_name;'
$result = mysqli_query($query)

print '<table><tr><td>USER NAME</td><td>CONTENTS</td></tr>';
while ($row = mysqli_fetch_assoc($result)) {
print '<tr>';
print '<td>' . $result['user_name'] . '</td>';
print '<td>' . preg_replace("/\n/", '<br>' . $result['contents']) . '</td>';
print '</tr>';
}
print '</table>';

以下是我在此示例中使用的一些函数的文档链接:

关于php - 如何显示用户在 MySQL 和 PHP 中出现一次的多个结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21775742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com