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

标签 php mysql sql date

我正在为我的网站制作一个支付系统,我需要一种方法来从数据库中选择所有内容,其中月份和年份与当前月份和年份相同。我的日期格式为 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/

相关文章:

SQL 错误 [08001]

php - PhalconPHP-如何向用户显示500错误

mysql - 错误 1136 : Column count doesn't match value count at row 1 - still happening

php - 如何在redactor编辑器中使用图像文件名

mysql - 对大数据集进行实时聚合排序

php - Mysql查询理解

使用通过文件的mysql密码特殊字符限制

sql - 如何使用 SQL Server 的 OUTPUT 子句进行更新

php博客分页排名

php - 将 php 表打印为 pdf