2012-01-17 9 views
0

mysqlに記事カテゴリのリストを出力させようとしています。 多くの記事があり、それぞれにmysqlに保存されているプリセットカテゴリがあります。しかし、多くの記事が同じカテゴリを持っているので、私のリストは、同様のカテゴリの結果で非常に長くなります。 私の考えは、ユーザーがカテゴリに1つの投稿を投稿した場合、そのカテゴリがリストに表示されるということです。これは、ユーザーがその特定のカテゴリに複数回投稿したとしても、そのカテゴリが1回だけリストされることを理解する必要があります。これどうやってするの?php mysqlで同様の内容の行数をフィルタリングする

これは私が得たものですが、動作していない:

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

シムのようにはmysql_num_rows()を使用することができる結果の数を確認したい場合ilarか同一か? –

+0

同じで、カテゴリのリストはあらかじめ設定されています – Havihavi

答えて

1

SELECT DISTINCT * FROM ...を試してみてください。これにより、それぞれ異なる値が1回だけ得られます。 PHPでのMySQLのデータを修正する

+0

それは合計で1の結果を返します。 '$ query =" SELECT DISTINCT * FROM記事のどこでfull_name = '$ safe_name' "; $結果= mysql_query($クエリ); while($ row = mysql_fetch_array($ result)) { $ coverlink = $ row ['kategori']; echo $ coverlink; } ' – Havihavi

+0

DBにはいくつかのオプションがありますか? –

+0

ええと、私は質問を理解していませんが、それは複数の投稿、いくつかは類似したカテゴリ、いくつかは別のカテゴリに1つだけあります。 カテゴリーは:スポーツ、ゲーム、ファッション。 私の代わりにカテゴリごとに1つのクエリを作成することですが、私はそれよりも動的にabitしたいです。 – Havihavi

1

は良いアイデアではありません、あなたは

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

のようにMySQLからのdistingカテゴリを選択するか、カテゴリ

に応じてグループにあなたのクエリに句によって、あなたの結果をグループに追加することができます
select * from article where full_name='$safe_name' group by (category) 

あなたは

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

返信ありがとう=)しかし、これもちょうど1を返しました結果。 – Havihavi

関連する問題