使用 CodeIgniter 数据库查询按日期分组并计算行数

问题描述 投票:0回答:1

我在尝试弄清楚如何填充多维数组时遇到困难。 假设我有一个包含不同账单日期的交易表。 首先,我有一个数组,用于检索以下“计费”日期:

Array
(
    [0] => Array
        (
            [BILLED] => 2011-11-18 00:00:00
        )

    [1] => Array
        (
            [BILLED] => 2011-11-22 00:00:00
        )

)

我还有以下查询,当前已硬编码为上面显示的两个“计费”日期之一:

$qryOrders = $this->db->query("
       SELECT tblOrders.* 
       FROM tblOrders 
       WHERE tbltc.BILLED = '2011-11-22'"); 
$data['Orders'] = $qryOrders->result_array();

我知道我可以使用 count($Orders) 轻松确定数组项的数量;但是我如何才能传递 2011 年 11 月 18 日和 2011 年 11 月 22 日的每个“计费”日期,以便确定这两个指定日期的总体计数?

我希望我已经解释得足够清楚了。 我想我可能需要某种 foreach 循环,每次通过循环时我都可以传入计费日期,并跟踪每次循环时的运行总计。

php sql codeigniter group-by
1个回答
1
投票
// this is getting all results for a record $sql = <<<sql SELECT tblOrders.* FROM tblOrders WHERE tbltc.BILLED between '{$arr[0]}' and '{$arr[1]}' sql; // this is to get total count of matched record // $sql = 'select count(*) from ..';

如果你使用CI,你可以轻松使用bind

示例:-

$sql = 'SELECT tblOrders.* FROM tblOrders WHERE tbltc.BILLED between ? AND ?'; $this->db->query($sql, array($arr[0], $arr[1]));
    
© www.soinside.com 2019 - 2024. All rights reserved.