-1

我是 MySQL 和 PHP 的新手,但想知道是否有人可以帮助我完成我为老板做的一个小项目。

我有一个 SQL 数据库(MyDB)和一个包含两列的表(mytable) - 第一列(索引)是 1-10 的自动递增整数,第二列(日期)在的格式Year-month-day time 2013-04-12 1326

我正在尝试创建一个简单的 PHP 页面,它首先获取当前日期(很简单),然后查看表格并显示昨天日期内的行数。例如,如果我有 3 行2013-04-11 XXXX和 2 行2013-04-12 XXXX(今天是 2013 年 4 月 12 日),页面将显示3. (时间并不重要,但我们不能将它从表中删除,因为它是由其他员工的程序之一自动创建的,他拒绝更改它)。

到目前为止,我已经有了我的 php 页面,完成了与数据库的连接并定义了两个变量:

$startdate = date('Y'."-".'n'."-".'d'." "."0000");
$enddate = date('Y'."-".'n'."-".'d'." "."2359");

由于时间戳无关紧要,我已经选择了变量的最小/最大值。我意识到这只会给出当前日期,试图弄清楚如何让它将前一天显示为变量中的日期。

现在我正在尝试创建一个 sql 查询,该查询将计算日期字段落在 startdate 和 enddate 变量(-1 天)内的行数,但不太确定从哪里开始或看起来如何。然后我需要在 PHP 中将其作为变量输出,以便稍后在页面中回显它。

谁能指出我正确的方向?希望这一切都有意义。

4

1 回答 1

0

您可以编写一个没有参数的查询来执行此操作(如果它总是只是昨天)。

SELECT * FROM <table>
WHERE DATE_FORMAT(<date column>,'%j-%Y') = DATE_FORMAT(DATE_SUB(now(),INTERVAL 1 DAY), '%j-%Y');

where 子句中的日期函数在性能方面可能不是超级棒

于 2013-04-12T21:12:17.700 回答