计算表中的项目

时间:2014-02-28 07:23:07

标签: php mysql sql

如何计算每个类别中有多少项目。我用它来展示它们。

$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

表格gifs行

id
caption
name
size
type
file_path
gif_cat

7 个答案:

答案 0 :(得分: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/>";
}

答案 1 :(得分:2)

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

答案 2 :(得分:2)

尝试这样的事情

SELECT  count(name) FROM cat_gif group by __your_category_column__;

your_category_column 替换为列的实际名称。

答案 3 :(得分:1)

计算像

这样的行
$row_cnt = $q->num_rows;

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

您也可以使用count()

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

答案 4 :(得分:1)

希望这会有所帮助,

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

请使用category_name中的类别名称(即列名称)。

答案 5 :(得分:1)

使用此功能。它确实有效。

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

答案 6 :(得分: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/>';
        }