2012-05-10 28 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