将sql结果导入php数组

时间:2009-11-28 16:24:51

标签: php sql mysql arrays unique

我想从sql结果创建一个数组(在php中),如下所示: 我们有sql-table“帖子”,它存储名称消息。例如:

  

姓名|消息

     

约翰|你好

     

尼克|美好的一天

     乔治|再见

     

约翰|其中

我想要的是输出已发布消息但不会多次显示相同名称的人的姓名。 因此,输出将是约翰,尼克,乔治。 (从这些记录中,我们看到John发布了2条消息,但在最终输出中,我们只看到了一次他的名字。)

这有可能吗? 提前谢谢。

5 个答案:

答案 0 :(得分:1)

尝试:

$sql = <<<END
SELECT DISTINCT Name FROM Posts
END;
$query = mysql_query($sql) or die($sql . ' - ' . mysql_error());
$names = array();
while ($row = mysql_fetch_array($query)) {
  $names[] = $row[0];
}
print_r($names);

答案 1 :(得分:0)

SELECT DISTINCT

答案 2 :(得分:0)

您可以运行SQL查询来只选择不同的名称,而不是其他任何名称:

SELECT DISTINCT Name FROM Posts;

这将为您提供一个由不同名称值组成的结果集,每个唯一值仅在集合中返回一次。

答案 3 :(得分:0)

要获得计数,您需要使用group by汇总:

SELECT NAME , COUNT(*) as Posts FROM Posts GROUP BY NAME

答案 4 :(得分:0)

如果您不反对BY BY

,那么这是SQL
select count(name) as N, name from posts group by name ;

有超过1个帖子的人

select count(name) as N, name from posts group by name having N > 1 ;