2012-01-17 65 views
0

我試圖讓mysql輸出一個文章類別列表。 有很多文章,每個都有預先存儲在mysql中的類別。但是很多文章都有相同的分類,所以我的列表很長,而且分類結果很相似。 我的想法是,如果用戶在一個類別中發佈了1篇文章,則該類別會被列出。但是這需要了解,即使用戶在該特定類別中發佈了多次,該類別也應該只列出一次。我怎樣才能做到這一點?在php中篩選具有相似內容的行數mysql mysql

這是我得到了什麼,但不工作:

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

辛ilar還是相同? – 2012-01-17 10:32:08

+0

完全相同,類別列表已預設 – Havihavi 2012-01-17 10:33:41

回答

1

嘗試SELECT DISTINCT * FROM ...。這會給你每個不同的值只有一次。

+0

這給我總共1個結果。 '$ query =「SELECT DISTINCT * FROM article where full_name ='$ safe_name'」; $ result = mysql_query($ query); ($ row = mysql_fetch_array($ result)) { $ coverlink = $ row ['kategori']; echo $ coverlink; }' – Havihavi 2012-01-17 10:45:37

+0

你的數據庫中有幾個選項? – 2012-01-17 10:55:46

+0

嗯,我不明白這個問題,但它有多個職位,一些類似的類別,有些只有一個在另一個類別。 類別是:運動,遊戲,時尚。 我的選擇是爲每個類別做一個查詢,但我希望它比這更具動態性。 – Havihavi 2012-01-17 11:00:45

1

修改PHP MySQL的數據是不是一個好主意,你可以選擇disting類別從MySQL像

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

,或者你可以到你的查詢根據類別by子句添加組羣的結果

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

,如果你想查詢結果的數量,您可以使用mysql_num_rows()之類

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

謝謝你的答覆=)但這也只是返回1結果。 – Havihavi 2012-01-17 11:01:19