我正试图为学校网站制作一个表格,只要日期不超过,该表格就会显示SQL数据库中的课程可用性日期结果。它似乎运行良好。不显示今天之前开始的课程,而显示今天之后开始日期的课程。。。只要开始日期不是四月、八月或十二月。。他们不会出现。有什么想法吗?代码似乎在比较月份的第一个字母作为要与今天日期进行比较的值。。此外,"OREDER BY fullstart"也不起作用。。DB中的fullstart字段包含课程开始日期,格式为:"2012年2月22日"。echo$today在末尾显示"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>
fullstart的字段类型是什么?如果是varchar,请将其更改为date,并使用MySQL标准日期格式