我只是想尝试运行一个脚本,它将每周从MySQL数据库中的一列添加所有内容。现在我正在尝试通过php检查日期是否为星期六,然后它将从数据库中获取最后6天(行)并将列下的行(这是数字)一起添加。有没有更简单的方法从一周内添加所有内容?如果没有,我如何检查日期(行)是否是星期六? 编辑: 我的数据库结构是: ID 日期 total_miles 评论 total_miles列是int,这是我需要通过检查日期是否为星期六而每周添加的内容
答案 0 :(得分:2)
来自mysql文档http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_dayofweek:
DAYOFWEEK(date)
Returns the weekday index for date (1 = Sunday, 2 = Monday, …, 7 = Saturday). These index values correspond to the ODBC standard.
mysql> SELECT DAYOFWEEK('2007-02-03');
-> 7
如果我想根据工作日将事情分组在一起,我可以使用:
SELECT SUM(total_miles) FROM tablename GROUP BY WEEK(id);
请参阅http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_week
附加:
您可以在select语句中选择WEEK(id)或DAYOFWEEK(id),以便以后在PHP中使用。
如果你想在php中做同样的事情(一般来说,如果可以的话,在SQL中做一些事情,但有奇怪的情况),你可以使用php date
命令做同样的事情 - 见{{3 (假设您将日期作为unix时间戳;如果没有进一步阅读)。
您可以使用“D”格式获取星期几的NAME,使用“N”或“W”获取星期几的NUMBER,或者使用“W”获取星期几在这一年。
如果您将日期作为DateTime或文本(可以很容易地转换为DateTime),您可以使用DateTime :: format - 请参阅http://php.net/manual/en/function.date.php上的示例 - $ format参数是相同的作为上述日期函数的一个。
答案 1 :(得分:0)
date("l",$timestamp)
或date("w",$timestamp)
可以在PHP中查看星期几。
如果是mysql数据库日期格式,您可以使用date("w",strtotime($date))
来了解星期几。
请参阅:date()和strtotime()