Php 统计与每个类别相关的产品数量

Php 统计与每个类别相关的产品数量,php,mysql,Php,Mysql,好的,我已经阅读了所有重复的问题,但我的问题与其他问题略有不同 这是我的数据库表: category cat_id | cat_name | parent | parent_id ----------------------------------------- 29 | Apparels | -- | 0 ----------------------------------------- 33 | Mens | Apparels| 29 Pr

好的,我已经阅读了所有重复的问题,但我的问题与其他问题略有不同 这是我的数据库表:

category

cat_id  | cat_name | parent  | parent_id
-----------------------------------------
29      | Apparels | --      |  0
-----------------------------------------
33      | Mens     | Apparels|  29


Products
id  | product_name  | category | 
--------------------------------
28  | Tee           | 33
--------------------------------
29  | Jeans         | 33
所以这里我想要每个类别的产品数量。我不知道我错在哪里

以下是与此相关的PHP代码:

if (!empty($_REQUEST['term']))
 {

    $term = mysql_real_escape_string($_REQUEST['term']);

    $sql = "SELECT * FROM category WHERE cat_name  LIKE '%" . $term . "%' or parent LIKE '%" . $term . "'  or cat_status LIKE '%" . $term . "'";
}
$r_query = mysql_query($sql);
if ($r_query > 1) 
{

$dynamicList="";
    while ($row = mysql_fetch_array($r_query)) 
    {
        // $cat_id=; 
         /*$dynamicList .= '
          <img style="border:#666 1px solid;" src="../storeadmin/category/thumbs/' . $row['cat_id'] . '.jpg" width="77" />';*/
          $catid=$row['cat_id'];
          $result1=mysql_query("SELECT count(1) From products where category='$catid'");
          echo "SELECT count(1) From products where category='$catid'";
          $rows=mysql_fetch_array($result1);
          echo $rows['product_name'];
        echo "<tr>";
        echo "<td width='10%'>" . $row['cat_id'] . "</td>";?>
        <td width="10%"><img  style='border:#666 1px solid;' width='70' src="<?php echo $row["cat_image"]; ?>" alt="" /></td>
        <?php
        //echo "<td><img style='border:#666 1px solid;' width='70' src='category/thumbs/". $row['cat_id'].".jpg' /></td>";

        //echo "<td>".$dynamicList."</td>";
        echo "<td width='10%'>" . $row['cat_name'] . "</td>";
        echo "<td width='10%'>" . $row['parent'] . "</td>";
        echo "<td width='10%'>" . $row['cat_status'] . "</td>";
}
使用mysql\u num\u rows$result1

参考:


选择category.cat_name,将*计算为类别中的产品,其中的产品 类别cat\u id=Products.category group by category.cat\u name

如果mysql\u numrows$r\u query>1


也许这就是错误所在。尽管mysql已被弃用,我不建议您继续使用。

您有什么迹象表明存在问题?你必须描述出哪里出了问题。什么是输出?你的预期产出是多少?您发布的脚本甚至没有显示计数值。那么我如何使其更简单,我只需要每个特定类别的产品计数。?任何参考资料?关于使用COUNTx的提示,请使用alias.echo$rows['product_name'];-该查询没有名为product\u name的列。我怀疑你在那一行收到了警告/通知/什么东西。如果你的错误不起作用,那你就错了。阅读有关函数和正确语法的手册。这同样有效。它对我有效。尝试一下如果mysql\u numrows$r\u query>1,你是想告诉我它有效吗?拜托,我对这个函数很了解,你的输入有误。在缺少的下划线中。。检查此链接…mysql\u numrows是mysql\u num\u Rowsy的别名您是对的,我道歉。