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

如何使用mysqli获取每条记录中日期对应的周数?

获取日期对应的周数并正确处理查询结果

看起来你已经找对了大致方向,不过有几个小细节可以调整,让结果处理更清晰直观:

1. 修正SQL语句的小疏漏

你的SQL里写了YEAR(beginn),但你的表列是date,得改成YEAR(date)才对;同时建议给周数列起个别名,后续读取结果时可读性会强很多:

$sql = 'SELECT WEEK(date) AS week_number FROM table1 WHERE YEAR(date) = "2018"';

2. 更友好的结果处理方式

用fetch_array()时,既可以用索引($row[0])也可以用关联键名(比如我们刚才起的week_number),后者能让代码更易懂。另外,输出的时候可以给每个周数加个分隔,避免结果挤在一起:

$db_erg = mysqli_query($con, $sql);
// 先检查查询是否成功,避免出错
if (!$db_erg) {
    die('查询出错: ' . mysqli_error($con));
}

while ($row = $db_erg->fetch_array()) {
    // 用关联键名读取,逻辑更清晰
    echo '对应周数:' . $row['week_number'] . '<br>';
}

补充小提示

  • MySQL的WEEK()函数默认把周日作为一周的第一天,如果你需要以周一为一周起始,可以用WEEK(date, 1),具体参数可以根据你的需求调整。
  • 你的两条测试数据:2018-03-14对应第11周,2018-05-14对应第20周,执行上面的代码就能得到这两个结果啦。

内容的提问来源于stack exchange,提问作者user9554121

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:07:03