You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用CodeIgniter 3查询构造器获取当前周的数据库数据

在CodeIgniter 3中获取当前周的数据解决方案

没问题,我来帮你搞定这个需求!要把“按当前日期查询”改成“按当前周范围查询”,核心就是先确定本周的起始和结束日期,再把查询条件换成日期范围匹配。下面分两种常用方案给你说明:

方案一:PHP计算周日期范围,再用CI的查询条件匹配

这种方式适合需要明确拿到周起止日期做其他处理的场景,步骤很简单:

  1. 先计算本周的起始和结束日期(这里默认周一为一周的第一天,如果你需要周日开头可以看后面的调整说明):
// 获取本周一的日期(格式Y-m-d)
$week_start = date('Y-m-d', strtotime('monday this week'));
// 获取本周日的日期
$week_end = date('Y-m-d', strtotime('sunday this week'));
  1. 修改你的查询代码,把原来的单日期匹配换成范围查询:
public function wmspQ($stkey) {
    // 计算本周起止日期
    $week_start = date('Y-m-d', strtotime('monday this week'));
    $week_end = date('Y-m-d', strtotime('sunday this week'));

    $select = array('*', 'sum(tbill.tqty) as msi');
    $q = $this->db
        ->select($select)
        ->where('tbill.stkey', $stkey)
        // 替换成周范围查询,用where_between更简洁
        ->where_between('tbill.tdate', [$week_start, $week_end])
        // 如果你需要按字段分组(比如按天统计),可以加上group_by
        // ->group_by('tbill.tdate')
        ->get('tbill'); // 确保这里是你的实际表名

    return $q->result(); // 根据需求返回result()/row()/num_rows()等
}

调整周起始日(比如周日为第一天)

如果你的业务里周日是一周的开始,把日期计算改成:

$week_start = date('Y-m-d', strtotime('sunday last week'));
$week_end = date('Y-m-d', strtotime('saturday this week'));

方案二:直接用SQL函数在数据库层面匹配周

这种方式更省心,不需要在PHP里计算日期,还能避免PHP和数据库时区不一致的问题(推荐!)。以MySQL为例,用YEARWEEK函数来匹配当前周:

public function wmspQ($stkey) {
    $select = array('*', 'sum(tbill.tqty) as msi');
    $q = $this->db
        ->select($select)
        ->where('tbill.stkey', $stkey)
        // YEARWEEK的第二个参数1表示周一为周起始,0表示周日
        ->where('YEARWEEK(tbill.tdate, 1) = YEARWEEK(CURDATE(), 1)')
        // 按需添加分组或其他条件
        // ->group_by('tbill.some_column')
        ->get('tbill');

    return $q->result();
}

注意事项

  • 时区一致性:确保PHP的时区和数据库时区一致,你可以在CodeIgniter的application/config/config.php里设置:
    $config['time_zone'] = 'Asia/Shanghai'; // 换成你的实际时区,比如Europe/London
    
  • 日期字段类型:确保tbill.tdate字段是DATE或DATETIME类型,这样范围查询才能正常工作。

内容的提问来源于stack exchange,提问作者nithin singh Gm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:04:16