PHP:mysql_fetch_array排除重复条目

and*_*aem 1 php mysql arrays sorting

我得到了一个简单的代码行,即获取续集数据库并填充类别列表,这些类别字符串来自产品表,因此许多产品行产生重复的类别条目.

$cat_result = $mysqli -> query("SELECT * FROM products");
while ($cat_row = mysqli_fetch_array($cat_result, MYSQL_NUM)) { 
    if($cat_row['4'] != NULL) { 
        print '<li><a href="/category/'. $cat_row['4'] .'">'. $cat_row['4'] .'</a></li>'; 
    }
}
Run Code Online (Sandbox Code Playgroud)

目前的输出是这样的:

  • 组别
  • 组别
  • 产品组别
  • 产品组别

那么我如何能够抑制重复输入并得到类似的东西呢?

  • 组别
  • 产品组别

谢谢你的帮助!

Fun*_*ner 6

按照要求:

您可以在SELECT和/或GROUP BY中使用DISTINCT

即:

SELECT DISTINCT col1, col2 FROM TABLE GROUP BY col_x

根据http://dev.mysql.com/doc/refman/5.7/en/distinct-optimization.html

这将避免您的查询重复.

另外,一个WHERE子句也可能有用(稍后).

即:

SELECT DISTINCT col1, col2 FROM TABLE WHERE col_x = 'y' GROUP BY col_x
Run Code Online (Sandbox Code Playgroud)

参考: