gpt4 book ai didi

php - 在Zend Framework中选择上个月的所有记录?

转载 作者:行者123 更新时间:2023-11-29 01:18:46 26 4
gpt4 key购买 nike

我的项目有一个小需求:

我要fetch all the records of the previous month from the database.

structure of the table如下:

id   clientid     task   date     
1 1 1 01.Feb.2011 12:13
2 1 1 05.Feb.2011 15:22
3 1 0 09.Feb.2011 14:17
4 2 1 11.Feb.2011 19:53
5 1 0 19.Feb.2011 14:27
6 2 1 23.Feb.2011 09:53
7 1 0 01.Mar.2011 14:17
8 2 1 01.Mar.2011 19:53
9 1 0 03.Mar.2011 14:67
10 2 1 03.Mar.2011 09:53
.....................

这里我要fetch所有recordsprevious monthparticular clientZend Framework.

例如:如果我想要 client 1然后记录它应该显示记录:1,2,3 and 5.

请建议一些对我有帮助的代码或链接......

提前致谢

最佳答案

假设日期列是 DateTime column , 我会尝试类似的东西

$select->from('tablename')
->where('MONTH(date) = ?', date('n', strtotime('last month')))
->where('YEAR(date) = ?', date('Y'))
->where('clientid = ?', $clientId)
;

注意:未经测试,可能需要调整,但这是总体方向

这将从表名中获取所有行,其中月份是最后一个月,年份是当前年份,您的 clientId 是选定的 clientId。所以查询应该变成类似

SELECT * from tablename 
WHERE MONTH(date) = 2
AND YEAR(date) = 2011
AND clientid = 1;

您还可以将上个月和当年的计算直接放入查询中,例如使用 appropriate MySql functions为此,而不是用 PHP 计算它们。这可能更可靠。

关于php - 在Zend Framework中选择上个月的所有记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5231720/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com