php mysql获取un重复值

时间:2012-03-15 19:13:15

标签: php mysql

id | tags
1  | photo article
2  | blog article
3  | blog
4  | logs
5  | photo article
6  | comment article

如何让所有wordstags取消重复?

我要打印photo article blog logs comment

4 个答案:

答案 0 :(得分:3)

$array = array();
foreach ($results as $row) {
  foreach (explode(' ', $row['tags']) as $word) {
    $array[$word] = $word;
  }
}

答案 1 :(得分:1)

tags似乎是布局中以空格分隔的实际标记列表。使用SELECT DISTINCTarray_unique()可能会产生与您的表中条目相同的结果。

这段代码可以为您带来独特的结果:

$q = mysql_query('SELECT `tags` FROM `table`');
$unique = array();

while (FALSE !== ($row = mysql_fetch_assoc($q)))
{
   $tags = explode(' ', $row['tags']);
   foreach ($tags as $tag)
   {
      $unique[$tag] = 1;
   }
}

mysql_free_result($q);

结果是array_keys()的{​​{1}}。


这可能会解决您的问题。虽然我建议您重新考虑您的设计并更改表格布局,以允许一个$uniqueid建立一对多的关系。

答案 2 :(得分:0)

SELECT DISTINCT不包含任何重复的SQL结果

答案 3 :(得分:-1)

我认为你要找的是MySQL中的GROUP BY运算符。您可以像这样使用它:

SELECT * FROM xxx GROUP BY tags