2012-11-07 54 views
0

我有一個列表正在從數據庫使用ASC日期的時間字段進行排序。我正在使用<?php foreach() :?>來遍歷並填充列表。PHP,Jquery和DOM操作

<li id="events"> 
Time: <?php echo $venue['time']; ?> 
Event: <?php echo $venue['location']; ?> 
</li> 

我在PHP中調用($ TIME_LEFT),其跟蹤的離開了天,直到每個事件開始我計算這個被抽空字段從數據庫中減去今天的當前日期php date()當一個變量這將達到0,我如何從列表的開始處移除已過期的事件並將其追加到最後。

這可以在頁面刷新完成我不需要它是異步的。我可以在PHP中使用DOM操作來做到這一點嗎?或者我應該使用Jquery,如果有的話,我如何將$ time_left變量從PHP傳遞給我的Jquery腳本?

+0

我會suggets您創建所有包含的值(包括你的TIME_LEFT計算),然後將數據結構(例如數組)使用'json_encode($ myarray的)'在傳遞數組的javascript側PHP。後來你可以在你的JavaScript端做所有你需要的dom操作。 – slash28cu

回答

3

這看起來很簡單。我希望我沒有誤解任何東西。它應該是這樣的。

foreach($venues as $k => $venue) { 
    $passEvents = array(); 
    $currentTime = time(); 
    if(($venue['time'] - $currentTime) <= 0) { 
     $passEvents[] = $venue; 
    } else { 
     echo '<li id="events">'; 
     echo 'Time: '.$venue['time']; 
     echo 'Event: '.$venue['location']; 
     echo '</li>'; 
    } 
} 

foreach($passEvents as $k => $venue) { 
    echo '<li id="events">'; 
    echo 'Time: '.$venue['time']; 
    echo 'Event: '.$venue['location']; 
    echo '</li>'; 
} 
+1

我寫的是同樣的東西。這應該是要走的路。除了$ currentTime = date();部分?不應該是$ currentTime = time(); ? – Jean

+0

你的合適時間()會更好。 –

+0

你能解釋一下=>在$($場地爲$ k => $場地)中做了什麼嗎? – Edward