do-while循环中行不会增加
|
我目前正在使用的以下php脚本存在一些问题。我正在尝试做的是按日期排列显示5个事件的列表。
在我的数据库中,我有一个带有事件的表。每个事件都有一个日期(DATETIME),一个ID和一个名称。 PHP需要做的是检查带有事件的表,并过滤已经通过的事件。如果事件已经过去,则不会显示。如果仍然必须发生,则会显示出来。
现在的问题是,在do while循环中,脚本似乎在运行后不会转到下一行。
例如:如果数据库表中有10个事件,则在测试时它将显示该表第一行事件的10倍。
我需要知道我在做什么错,或者是否有一种方法可以在每次运行循环后增加行数。
<?php
$test_query_kalender = \"SELECT * FROM kalender ORDER BY datum ASC\";
$test_result_kalender = mysql_query($test_query_kalender);
$rij_kalender = mysql_fetch_assoc($test_result_kalender);
$vandaag_unix = time();
$datum_unix = strtotime($rij_kalender[\'datum\']);
$i = 0; //this variable is used to insure that only 5 items are being shown on the page
do{
if($datum_unix >= $vandaag_unix) //checks if the date of the event has already passed
{
//if the date has not passed, the event will be shown
echo \"<p>\" . date(\"d-m-Y\", $datum_unix) . \" \" . $rij_kalender[\'naam\'] . \"</p>\";
$i++;
}
else
{ //if it has already passed then it should put nothing, but for testing I put a line in it
echo \"<p>\" . $rij_kalender[\'naam\'] . \"</p>\";
}
} while(($i <= 4) && ($rij_kalender = mysql_fetch_assoc($test_result_kalender)));
echo \"<p>While loop finished</p>\"; //just some checking
?>
没有找到相关结果
已邀请:
2 个回复
拟僚疽刊剔
在日期检查之前进入循环。
苛肠倒俱