我有一个名为DATE的字段的mysql数据库,将数据存储为日期。我试图让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_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_format不显示日期。
这是我的克星,请帮助我理解我做错了什么?
答案 0 :(得分:1)
如果mysql中有一个日期字段列(YYYY-MM-DD
),请尝试date('Y-m-d')
而不是date('Y-m-j')
答案 1 :(得分:0)
我一直盯着这看了很久,但我想我找到了一个答案。我试图合乎逻辑并使用$ to_date和$ from_date,然后在查询中将它们放入错误的顺序。因此,虽然我没有实际解决这个问题,但我在这个问题上解决的问题是我的不满。我也从讨论中学到了很多东西,非常感谢你 - 时间更清晰,速度更慢了。)