我正在为我的网站制作一个支付系统,我需要一种方法来从数据库中选择所有内容,其中月份和年份与当前月份和年份相同。我的日期格式为 dd/mm/yyy 或 例如,2010 年 1 月 1 日。
完成此操作后,我需要使用 foreach() 循环显示所有结果。这怎么可能做到呢?我尝试在 mysql_query 中使用 LIKE 函数,但它只是输出错误。
这是我想出的一些代码:
date_default_timezone_set('UTC');
$today = date("d-m-Y"); // Output something like 21-10-2014 for finding matching rows
$today_compare = substr($today, 2, 8);
$fetch_donate = mysql_query("SELECT * FROM `shop_payments` WHERE date LIKE '%today_compare%");
最佳答案
我会给你一个答案,假设你可以将数据库中的日期字段更改为实际上的日期数据类型字段。我还假设您将列名称更改为非保留字 date
,例如 payment_date
。这是一个值得养成的好习惯 - 不要将数据库对象命名为保留字。
查询可以像这样简单:
SELECT *
FROM `shop_payments`
WHERE `payment_date` LIKE CONCAT(YEAR(NOW()), '-', MONTH(NOW()), '%')
关于PHP 从当前月份选择数据库行并使用 foreach() 显示它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26678290/