2012-05-10 27 views
0

私はテーブルcategoriesを持っています:id, name, subcategory_id, parent_id。別のテーブルclassifiedsは:classified_id, title, description, category_idです。分類数をカウントするカテゴリ

私は、各カテゴリの分類された数を取得しようとしています。それでこのように見えます。

  • アクセサリー(10)デート
  • 車(15)
  • (12)

私はそれをこのような試みました:

enter $catquery = mysql_query("SELECT * FROM categories WHERE sub_id = '0' ORDER BY name ASC"); here 

enter $catrows = mysql_num_rows($catquery); here 
enter $catrows = mysql_num_rows($catquery); here 
enter $query = "SELECT category_id, COUNT(title) AS `total` FROM classifieds WHERE classified_id = 'category_id' "; here 
enter $result = mysql_query($query); here 
enter while($row = mysql_fetch_assoc($result)){ $num_items_in_category[$row['category_id']] = $row['total']; here 

enter } echo "<li><a href='category.php?cat=".$row['id']."'>".$row['name']. $row['total']. "</a></li>"; here 

ありがとう野郎

答えて

0

のレコードのカウントを連想配列を与えるです2つのテーブルを結合することによって

SELECT a.name, count(*) as cnt 
FROM categories a 
    join classifieds b 
    on a.id = b.category_id 
group by a.name 
0

COUNTは集約関数なので、すべての関数を得ることができますすぐにカウントします。私はあなたが探しているものと信じて

$query = "SELECT category-id, COUNT(title) AS `total` FROM classifieds WHERE classified-id = 'category-cat' GROUP BY category-id"; 
$result = mysql_query($query); 

while($row = mysql_fetch_assoc($result)){ 
    $num_items_in_category[$row['category-id']] = $row['total']; 
} 

これはあなたがあなたが探しているものを達成することができるはずです各カテゴリ-ID

+0

私はこれを試しましたが、何も表示されません!再度、感謝します – Rocks

関連する問題