php - 计算菜单项返回的行数

标签 php mysql

我有 2 张 table : 类别,Oglasi

categories
category_id | category | parent
1             auto      0
2             games     0
3             bmw       1
4             cards     2

oglasi
oglas_id | category_id
1          3            
2          4             

我想做的是制作一个菜单:

父名称 - 类别名称(该类别中的项目数)

示例:汽车 - 宝马 (1)

现在我可以制作一个父名称-类别名称的树形菜单,但不知道如何将所有这些与计数的行数连接起来。这是我的查询和执行此操作的代码:

$kategorije = dbQuerySelect('SELECT a.category parent
                                  , b.category child
                                  FROM categories a
                                  JOIN categories b
                                  ON a.category_id = b.parent
                                  ORDER BY a.category_id');
                if ($kategorije)
                  {
                    $parent = '';
                    echo "<ul>";
                    foreach ($kategorije as $next) {
                       if ($next['parent'] != $parent) {
                          if (strlen($parent) > 0) {
                             echo "    </ul>";
                             echo "  </li>";
                          }
                          echo "  <li>" . $next['parent'];
                          echo "    <ul>";
                       }
                       echo "    <li>" . $next['child'] . "</li>";

                       $parent = $next['parent'];
                    }
                    echo "    </ul>";
                    echo "  </li>";
                    echo "</ul>";
                  }

所以在这种情况下返回:

parent | child
auto     bmw
games    cards

有人可以帮我编辑代码并返回每个“子类别”中的行数吗?我在查询中尝试了 COUNT 的一些变体,但我就是无法使其工作。

最佳答案

SELECT a.category parent, 
       b.category child,
       (select count(*) from oglasi where category_id = b.category_id) as count
FROM categories a
JOIN categories b
ON a.category_id = b.parent
ORDER BY a.category_id

有了这个你应该得到:

   parent|child|count
   auto  bmw    1

关于php - 计算菜单项返回的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4983667/

相关文章:

php - 垂直滚动条不起作用

java - 带有 mysql 的 Spring Boot 应用程序获取 "java.sql.SQLNonTransientConnectionException"

mysql - 尝试将 SQL Server 转换为 MySql 进行类(class)

php - 是否有像 ruby​​ 调试器一样的 php 交互式调试器?

php - VSCode PHP 智能感知数据缓存?

php - 我的 MVC 组件真的都需要相互引用吗?

php - PHP CURL 访问可能的恶意站点是否安全?

php - 定期使用表单上传文件到服务器

php - 无法从 mysql.proc 加载。该表可能已损坏 #1728

mysql - 考虑在 Rails 上进行扩展,您会编写手写 SQL 吗?使用续集 gem ?