PHP从当前月份选择数据库行并使用foreach()显示它们

时间:2014-10-31 15:33:50

标签: php mysql sql date

我正在为我的网站制作支付系统,我需要一种方法从数据库中选择月份和年份与当前月份和年份相同的所有内容。我的日期格式为dd / mm / yyy或 例如01-01-2010。

完成此操作后,我需要使用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%");

1 个答案:

答案 0 :(得分:1)

我会根据您可以将数据库中的日期字段更改为实际上是日期数据类型字段的假设给出答案。我还假设您将列名更改为非保留字date,类似payment_date。这只是一个很好的习惯 - 不是将数据库对象命名为保留字。

查询可以像这样简单:

SELECT *
FROM `shop_payments`
WHERE `payment_date` LIKE CONCAT(YEAR(NOW()), '-', MONTH(NOW()), '%')