php - mysql查询和while循环创建一个特殊的字符串

标签 php mysql sql

我正在做一个项目,我需要完成这样的特殊任务。

我有一个 sql 查询,它获取对帖子发表评论的所有用户的 ID,然后我使用 mysql_fetch_array 和 while 循环来创建这些用户的逗号分隔 ID 字符串,就像这样。

如果任何帖子上的用户 ID 是 1 和 4 和 5 以及 18 和 88,我得到的字符串就像 1,4,5,18,88。

但问题是,如果任何人发表了不止一条评论,那么他/她的 ID 会被再次添加,我不希望这样。

喜欢的用户是:

1,4,5,4,1,15

它得到:

1,4,5,4,1,15

但是我想要:

1,4,5,15

我不想重复。

我尝试过的:

select id from table where comment !=''
mysql_fetch_array()
while (){
   // now joining the ids of commenters here but not duplicate ids
} 

最佳答案

试试这段代码

SELECT DISTINCT id FROM tablename WHERE  comment !='' ORDER BY id

它将为您提供与您的表不同的 id

关于php - mysql查询和while循环创建一个特殊的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25256595/

相关文章:

php - 从数据库中获取组并将其显示为菜单链接

php - MySQL通过php错误插入用户名和密码

php - 为什么 PHP 双重转义这个字符串?

php - 如何从多维sql数据库中获取数据?

php - 如何从 PHP 读取 PNG 元数据?

php - Codeigniter 在 config/database.php 之外创建数据库和表

mysql - SQL 将值拆分为多行

sql - 使用纯 Oracle SQL 的任何更好的 Fibonacci 系列生成器?

sql - 如何在查询字符串中插入 nvarchar 值

php - Mysql 对具有不同值的表进行分组