id | tags
1 | photo article
2 | blog article
3 | blog
4 | logs
5 | photo article
6 | comment article
如何讓所有的words
從tags
不重複?php mysql取得重複值
我想打印出photo article blog logs comment
。
id | tags
1 | photo article
2 | blog article
3 | blog
4 | logs
5 | photo article
6 | comment article
如何讓所有的words
從tags
不重複?php mysql取得重複值
我想打印出photo article blog logs comment
。
$array = array();
foreach ($results as $row) {
foreach (explode(' ', $row['tags']) as $word) {
$array[$word] = $word;
}
}
SELECT DISTINCT
不包括任何SQL結果是重複
我想你正在尋找的是在GROUP BY在MySQL操作。你可以使用這樣的:
SELECT * FROM xxx GROUP BY tags
看來,tags
在佈局的實際標籤的空間分隔的列表。使用SELECT DISTINCT
或array_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);
結果是$unique
的array_keys()
。
這可能會解決您的問題。雖然我建議你重新考慮你的設計,並改變你的桌子佈局,以允許一個id
與tag
有一對多的關係。
*最後*有人**瞭解**的問題。 – 2012-03-15 19:26:29
'foreach($ results as $ row){'should be'while($ row = mysql_fetch_array($ results)){'' – cj333 2012-03-15 19:39:59