2014-02-28 43 views
0

如何計算每個類別中有多少項目。我用這個來展示他們。計數表中的項目

$q = mysqli_query($con, "SELECT id, name FROM cat_gif ORDER BY name"); 
     while ($res = mysqli_fetch_assoc($q)) 
     { 
      echo '<div id="cat"><a href="gif_cat.php?id='. $res['id'] .'">&raquo '.$res['name'].'</div></a><br/>'; 
     } 

我知道我可以使用COUNT但我不知道在哪裏以及如何使用它。

更新: 表cat_gif

id 
name 

表的GIF行是

id 
caption 
name 
size 
type 
file_path 
gif_cat 
+0

使用'GROUP BY category' – Prafulla

+0

取代'ORDER BY'?這如何幫助我計算物品? – Goro

+0

'ORDER BY'和'GROUP BY'有很多不同......'ORDER BY'用於顯示數據順序明智 – Prafulla

回答

0

一種方式做到這一點

 $q = mysqli_query($con, "SELECT gif_id, gif_name, (SELECT COUNT(*) FROM gifs WHERE gifs.gif_cat = gif_id) AS count FROM cat_gif ORDER BY gif_name"); 
     while ($res = mysqli_fetch_assoc($q)) 
     { 

      echo '<div id="cat"><a href="gif_cat.php?gif_id='. $res['gif_id'] .'">&raquo '.$res['gif_name'].' ('.$res['count'].') </div></a><br/>'; 
     } 
2

您可以在查詢中使用count(name)GROUP BY name如下這給你算每個產品分類

$q = mysqli_query($con, "SELECT name, count(name) as cnt FROM cat_gif GROUP BY name"); 
while ($res = mysqli_fetch_assoc($q)) 
{ 
    $count = $res['cnt']; // your count 
    $name = $res['name']; // your category name 

    echo "Category Name : ".$name." --> ".$count."<br/>"; 
} 
+0

不是沒有一個組它不會。 – mpen

+1

雅我忘了它。我現在糾正了它 –

+0

它不能正確計數。在每個類別上顯示 - > 1 – Goro

2
SELECT category, count(id) FROM cat_gif GROUP BY category 
1

count行像

$row_cnt = $q->num_rows; 

更多信息http://in3.php.net/mysqli_num_rows

也可以使用count()

SELECT category, count(id) FROM cat_gif GROUP BY category 
+0

就像@Satish答案給我所有類別'1',即使在類別中有超過1個項目.. – Goro

+0

'$ row_cnt = $ q-> num_rows;'計數類別數每個類別中的項目數量。 – Goro

2

嘗試這樣的事情

SELECT count(name) FROM cat_gif group by __your_category_column__; 

替換your_category_column與列的實際名稱。

1

希望這將幫助,

SELECT category_name, COUNT(id) FROM cat_gif GROUP BY category_name; 

請在CATEGORY_NAME使用類別名稱(即,列名)。

1

使用此。這是可以肯定的。

SELECT category, count(id) FROM cat_gif group by category;