使用php显示仅在今天日期之后显示的SQL行的问题

时间:2012-02-22 21:50:22

标签: php sql date filter

我正在尝试为学校网站制作一个表格,只要日期没有过去,就会显示我的SQL dtabase的课程可用日期结果。它似乎工作正常。今天之前开始的课程不会显示,而今天开课日期之后的课程会显示...只要开始日期不是四月,八月或十二月......它们就不会显示。有任何想法吗?似乎代码将当月的第一个字母作为与今天日期进行比较的值进行比较。此外,“OREDER BY fullstart”也不起作用。数据库中的fullstart字段包含课程开始格式化的日期作为:“2012年2月22日”。今天的回声$今天显示“2012年2月22日”格式相同......

我的代码:

<table border="1" cellpadding="10"> 

<th>Course Type</th><th>Date</th><th>Instructor</th>
<?php
//Connect to mysql server
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link) {
    die('Failed to connect to server: ' . mysql_error());
}

//Select database
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
    die("Unable to select database");
} 
$today = date("F j, Y");
$courses = mysql_query("SELECT * FROM locationtbl WHERE fullstart >= '$today' ORDER BY fullstart"); 
while ($row = mysql_fetch_assoc($courses)) { 
    $coursetype = $row[coursetype]; 
    $fulldates = $row[fulldates]; 
    $instructor = $row[instructor]; 

?> 
    <form name="courses" method="get"> 
    <tr> 
        <td><input name="coursetype" type="hidden" value="<?php echo $coursetype ?>"><?php echo $coursetype ?></td> 
        <td><input name="fulldates" type="hidden" value="<?php echo $fulldates ?>"><?php echo $fulldates ?></td> 
        <td><input name="instructor" type="hidden" value="<?php echo $instructor ?>"><?php echo $instructor ?></td> 
    </tr> </form>

<?php 
}
echo $today; 
?> 
</table>

1 个答案:

答案 0 :(得分:0)

Fullstart的字段类型是什么?如果是varchar将其更改为日期并使用MySQL标准日期格式