这个问题,以前还真没有好好考虑过,以前用过两种比较笨的方法一个一个来看,
1,每种状态都写一个select count("*") where status=? 的sql(现在想想真的好笨呐,^_^);
2,后来学聪明点了,知道要尽可能少的频繁查询数据库,因为这样系统压力也会很大,于是想了另一个方法:
先把所有符合条件的订单查出来,然后再循环 根据status的值来计算不同的状态订单的数量
select * from order where ...
然后:
foreach($orderlist as $k => $v){
if($v['status'] == 0){
$waitpay+=1; //待付款的数量+1
}else if($v['status'] == 1){
$waitsend+=1; //待发货的数量+1
}
....此处省略n种判断....
}
这样看好像是只查了一次数据库,速度应该快点,嗯,我这样认为的! 然后 又想到一个更简单的方法,就是下面这种
3,select count("status"),status from order group by status
这种应该最简单了吧,哈哈!