2012-11-07 6 views
0

데이터베이스에서 채워지는 목록을 ASC 날짜 별 시간 필드를 사용하여 정렬했습니다. 내가 루프를 통해 목록을 채우려면 <?php foreach() :?>을 사용하고 있습니다.PHP, Jquery 및 DOM 조작

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

나는 각 이벤트가 php date()오늘의 현재 날짜를 뺀 데이터베이스에서 시간 필드를 복용하여 내가 이것을 계산 시작 까지 남아있는 일을 추적 ($의 TIME_LEFT)라는 PHP에서 변수가 이 0에 도달 어떻게 목록의 시작 부분에서 만료 된 이벤트를 제거하고 끝에 추가 할 수 있습니다.

이것은 페이지 새로 고침에서 수행 할 수 있습니다. 비동기적일 필요는 없습니다. DOM 조작으로 PHP에서 이것을 할 수 있습니까? 또는 Jquery를 사용해야하고 PHP의 $ time_left 변수를 Jquery 스크립트에 전달하려면 어떻게해야합니까?

+0

나는'사용로 json_encode ($ myArray의)'에서 자바 스크립트 측면에 그 배열을 전달하는 모든 포함 (당신의 TIME_LEFT 계산 포함) 값과 함께 데이터 구조 (예를 들어 배열)을 만들 수 suggets 것 php. 나중에 당신은 자바 스크립트 측면에서 필요한 모든 돔 조작을 할 수 있습니다. – 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

'($ venues as $ k => $ venue)'에서 =가 무엇을 설명 할 수 있습니까? – Edward