groupby查询think PHP5.1

博客围绕分类数据计数展开,先使用原生查询测试并成功,在项目实现时遇到查询数据用json encode打印不行的问题,因是二维数组,解决后又面临如何通过搜寻键查询获取对应值的问题,想到用foreach查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要求按照分类的区别打印出不同类别的数据计数
如张三,做了6件事情
这里使用原生查询先测试

SELECT cate_id, COUNT(*) AS order_count
FROM tp_article 
GROUP BY cate_id;

成功

在这里插入图片描述
然后项目中实现

 public function ss(){

        $sql = "SELECT cate_id, COUNT(*) AS order_count FROM tp_article GROUP BY cate_id";
        $data = Db::query($sql);

然后出现问题
查询出来的数据使用json encode打出来不行,原因是这里是二维数组
写成这样后终于可以打印出来

public function ss(){

        $sql = "SELECT cate_id, COUNT(*) AS order_count FROM tp_article GROUP BY cate_id";
        $data = Db::query($sql);
        $json = json_encode($data);
        echo $json;

下一个问题,如何通过搜寻一个键查询获取对应的值
这里首先想到的是fore each查询

  //使用模型进行分类查询
    public function ss(){

        $sql = "SELECT cate_id, COUNT(*) AS order_count FROM tp_article GROUP BY cate_id";

        $result = Db::query($sql);

        $id = input('id');

        foreach($result as $row) {
            if($row['cate_id'] == $id) {
                foreach($row as $key => $value) {
                    echo ($key.'='.$value);
                }
            }
        }

    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值