我的数据库类中有一个函数,它为我提供了某个用户正在参加的事件列表
function getEventList($uid)
{
$date = date('Y-m-d H:i:s');
$eventSQL = "SELECT em.eventID, e.eventName, e.eventTime FROM eventmembers em INNER JOIN events e ON em.eventID = e.eventID WHERE userIDInvited = :uid";
$eventPrepare = $this->prepare($eventSQL);
$eventPrepare->bindParam(':uid', $uid);
$eventPrepare->execute();
return ($eventPrepare->rowCount() > 0)
? $eventPrepare->fetchAll() : array();
}
要访问这些结果,我只是这样做
//php
$eventList = $db->getEventList($userid);
if($eventList == NULL){
$smarty->assign('events', 'No events');
}
else{
$count = sizeof($eventList);
for($i = 0; $i < $count; $i++)
{
$smarty->assign('events', $eventList);
}
}
html
<p>MY EVENTS</p>
{foreach from=$events item=result}
<a href="https://localhost/FinalYear/events/{$result.eventID}.php">{$result.eventName}</a><br>
{$result.eventTime}<br>({$result.timeRemain} Days remaining)
<br>
<br>
{/foreach}
我现在想做的是补充,还有说还有多少天直到这个事件发生。
我所做的只是在 for 循环中添加它。
$startTimeStamp = strtotime($date);
$endTimeStapm = strtotime($eventList[$i]['eventTime']);
$timeDiff = abs($endTimeStapm - $startTimeStamp);
$numberDays = $timeDiff/86400;
$numberDays = intval($numberDays);
现在的问题是,当用户参加多个活动时,$numberDays
总是会被覆盖。所以我试图添加$numberDays
到当前数组索引的末尾。但这给了我一个无限循环。$numberDays
var_dump
当我必须输入时,没有给我这个输出
array(2) { [0]=> array(3) { ["eventID"]=> string(1) "1" ["eventName"]=> string(7) "Konzert" ["eventTime"]=> string(19) "2013-03-28 00:00:00" } [1]=> array(3) { ["eventID"]=> string(1) "2" ["eventName"]=> string(4) "Oper" ["eventTime"]=> string(19) "2013-03-30 00:00:00" } } array(2) { [0]=> array(3) { ["eventID"]=> string(1) "1" ["eventName"]=> string(7) "Konzert" ["eventTime"]=> string(19) "2013-03-28 00:00:00" } [1]=> array(3) { ["eventID"]=> string(1) "2" ["eventName"]=> string(4) "Oper" ["eventTime"]=> string(19) "2013-03-30 00:00:00" } }
但我也希望在每个条目结束时剩余的天数。问题是,我不能在另一个循环中执行此操作,因为这意味着我需要在另一个循环内的 .html 文件中创建另一个循环。所以它会在另一个循环跳到下一个条目之前运行。
任何建议如何解决这个问题?
我的数据库表看起来像这样
桌子events
eventID, eventName, eventDescription, eventLocaion, eventTime, eventHost, privacy Settings
桌子eventmembers
eventID, userIDInvited, InvitationStatus