过滤php mysql中具有相似内容的行数

时间:2012-01-17 10:30:53

标签: php mysql

我正在尝试让mysql输出文章类别列表。 有很多文章,每个都有预设类别存储在mysql中。但是很多文章都有相同的类别,所以我的列表很长,类似的类别结果。 我的想法是,如果用户在一个类别中发布了1个帖子,则会列出该类别。但这需要理解,即使用户在该特定类别中多次发布,该类别也应该只列出一次。我怎么能这样做?

这就是我得到的,但不起作用:

foreach( $result as $row ) {
if($result>1){
$kategorilink= "{$row['kategori']}";
echo $kategorilink;
}
}

2 个答案:

答案 0 :(得分:1)

试试SELECT DISTINCT * FROM ...。这将只为您提供一次不同的值。

答案 1 :(得分:1)

在php中修改mysql数据不是一个好主意,你可以从mysql中选择disting类别,如

select distinct(category) from article where full_name='$safe_name'

或者您可以在查询中添加group by子句,以根据类别对结果进行分组

select * from article where full_name='$safe_name' group by (category)

如果你想检查结果数量,可以使用mysql_num_rows(),如

if (mysql_num_row($result) > 1){ //code here}