Php 显示从3个月前到今天的MySQLi结果
我一直在搜索中寻找关于这个问题的帮助,并试图根据这些问题编辑我的代码,但运气不好,所以我希望有人能在这里提供帮助 我有一个数据库,数据库中有一系列事务,它们都是按日期戳Php 显示从3个月前到今天的MySQLi结果,php,mysql,datetime,mysqli,Php,Mysql,Datetime,Mysqli,我一直在搜索中寻找关于这个问题的帮助,并试图根据这些问题编辑我的代码,但运气不好,所以我希望有人能在这里提供帮助 我有一个数据库,数据库中有一系列事务,它们都是按日期戳Y-m-dh:I:s进行的 虽然我的代码似乎不能正常运行,但我试图从3个月前到今天提取结果?无论我在数据库中更改了多少日期,都不会发生任何事情 我尝试了并试图改变和和或语句,还摆弄了标记变量的方式,例如:“$variable”{$variable}``$variable``又一次运气不佳 $today = date('Y-m-d
Y-m-dh:I:s
进行的
虽然我的代码似乎不能正常运行,但我试图从3个月前到今天提取结果?无论我在数据库中更改了多少日期,都不会发生任何事情
我尝试了
并试图改变和和或语句,还摆弄了标记变量的方式,例如:“$variable”{$variable}``$variable``又一次运气不佳
$today = date('Y-m-d H:i:s');
$months3 = strtotime('-3 months', strtotime($today));
$months_ago = date('Y-m-d H:i:s' , $months3 );
$user_email = $_SESSION['email_address'];
$sql3 = "SELECT * FROM `ap_payment_logs` WHERE 'txn_date' BETWEEN '{$months_ago}' AND '{$today}' AND user_id = '$user_id' OR payer_email = '$user_email' ORDER BY 'txn_date' DESC LIMIT 10";
我不确定这方面的性能,但您可以在mysql中执行以下操作:
WHERE txn_date > NOW() - INTERVAL 3 MONTH
如果表中还有将来的记录,则应添加“txn_日期”应小于现在的条件()
然后将sql查询更改为:
$sql3 = "SELECT * FROM `ap_payment_logs` WHERE 'txn_date' > NOW() - INTERVAL 3 MONTH AND (user_id = '$user_id' OR payer_email = '$user_email') ORDER BY 'txn_date' DESC LIMIT 10";
希望这能有所帮助就当是三个月前的选择日期吧!工作完美-尽管我注意到我需要在括号内添加用户id='$user\id'或付款人电子邮件='$user\u email'
,()
,因为系统误认为日期在3个月前或付款人电子邮件是电子邮件。但是我没有意识到你可以在MySQL中自动完成,所以谢谢你教我一个更简单的方法!