2012-03-15 65 views
0
id | tags 
1 | photo article 
2 | blog article 
3 | blog 
4 | logs 
5 | photo article 
6 | comment article 

如何讓所有的wordstags不重複?php mysql取得重複值

我想打印出photo article blog logs comment

回答

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

*最後*有人**瞭解**的問題。 – 2012-03-15 19:26:29

+0

'foreach($ results as $ row){'should be'while($ row = mysql_fetch_array($ results)){'' – cj333 2012-03-15 19:39:59

0

SELECT DISTINCT不包括任何SQL結果是重複

-1

我想你正在尋找的是在GROUP BY在MySQL操作。你可以使用這樣的:

SELECT * FROM xxx GROUP BY tags

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); 

結果是$uniquearray_keys()


這可能會解決您的問題。雖然我建議你重新考慮你的設計,並改變你的桌子佈局,以允許一個idtag有一對多的關係。