Php 不显示结果的日期范围之间的查询
我有一个mysql数据库,其中有一个名为DATE的字段,将数据存储为日期。我正在尝试获取php日期,以选择从当前日期起接下来31天的记录 这就是我所拥有的Php 不显示结果的日期范围之间的查询,php,mysql,date,Php,Mysql,Date,我有一个mysql数据库,其中有一个名为DATE的字段,将数据存储为日期。我正在尝试获取php日期,以选择从当前日期起接下来31天的记录 这就是我所拥有的 $start_THISMONTH = "-1"; if (isset($to_date)) { $start_THISMONTH = $to_date; } $finish_THISMONTH = "-1"; if (isset($from_date)) { $finish_THISMONTH = $from_date; } mysql_se
$start_THISMONTH = "-1";
if (isset($to_date)) {
$start_THISMONTH = $to_date;
}
$finish_THISMONTH = "-1";
if (isset($from_date)) {
$finish_THISMONTH = $from_date;
}
mysql_select_db($database_WHTSON, $WHTSON);
$query_THISMONTH = sprintf("SELECT * FROM CALENDAR WHERE DATE BETWEEN %s AND %s AND APPROVED = 1 ORDER BY DATE ASC", GetSQLValueString($start_THISMONTH, "date"),GetSQLValueString($finish_THISMONTH, "date"));
$THISMONTH = mysql_query($query_THISMONTH, $WHTSON) or die(mysql_error());
$row_THISMONTH = mysql_fetch_assoc($THISMONTH);
$totalRows_THISMONTH = mysql_num_rows($THISMONTH);
-
设置这两个变量的代码如下
$from_date = date("Y-m-j");
$to_date = date('Y-m-j', strtotime("+31 days"));
我在主体中的php代码是
<h4><strong><font color="#FF0000"><?php echo $row_THISMONTH['EVENT_NAME']; ?></font></strong></h4>
<?php $date = date_format($row_THISMONTH['DATE'], 'jS F'); ?>
<h5><em><?php echo $date; ?>, <?php echo $row_THISMONTH['TIMES']; ?><br />
<?php echo $row_THISMONTH['LOCATION_ADDRESS']; ?>, <?php echo $row_THISMONTH['LOCATION_TOWN']; ?> <?php echo $row_THISMONTH['LOCATION']; ?></em><br />
</h5>
<p><?php echo $row_THISMONTH['EVENT_DETAILS']; ?><br />
</p>
,
,
没有结果。这是一个新构建的数据库,其中只有一条记录,日期是情人节。如果我将代码更改为一个简单的“查找所有记录”查询,它会显示得非常好(尽管date_格式不显示日期)
这是我的复仇女神,请帮助我理解我做错了什么?如果mysql中有一个日期字段列(
yyy-MM-DD
),请尝试date('Y-m-d')
而不是date('Y-m-j'))
我已经关注这个问题很久了,但我想我已经找到了一个答案。我试着合乎逻辑地使用$to\u date和$from\u date,然后将它们按错误的顺序放在查询中。因此,尽管我还没有真正解决这个问题,但我认为这个问题是我这次不整洁。我也从讨论中学到了很多,谢谢你非常感谢,我试过了,看到了前导零的逻辑,但在更改和刷新页面后,仍然没有显示任何内容。尝试转义日期字段尝试从日历中选择*,其中DATE
在%s和%s之间,按DATE
ASC排序,但仍然没有乐趣,这让我慢慢发疯:)这是因为字段的名称是DATE吗?DATE是MySQL中的一个保留关键字。当$start\u thismonly
='-1'时,这个函数返回什么?