2012-04-23 3 views
-1

필름으로로드하고 출시 날짜의 차이를 계산하여 타임 라인 효과를 만들기 위해 필름 릴리즈가없는 "days"를 표시하는 대화 형 타임 라인을 만들고 있습니다 . 그러나 나는 같은 날짜에 발표 된 몇 가지 영화 있습니다. 이 영화에 대한 날짜를 반복해서 반복하지 않고 그룹 효과처럼 첫 번째 영화의 날짜를 표시하는 것이 좋습니다.MySQL/PHP에서 표시되는 내용 제한하기

if 나는 테이블을 반복하고 날짜가 이전 행의 날짜와 같은지 여부를 확인하는 명령문을 조작했습니다.

http://ignitethatdesign.com/CheckFilm/test_search.php

그러나 어떻게는 동일한 날짜 영화의 그룹의 첫 번째 영화 날짜를 표시하기 위해 PHP를 사용하는 것이?

$lastDate = null; 

while (...) { 
    $currentDate = date('Y-m-d', strtotime($film['date'])); 
    if ($currentDate != $lastDate) { 
     echo "<h1>$currentDate</h1>"; 
    } 
    $lastDate = $currentDate; 

    // output film details 
} 

것은이 줄 것이다 : 나는 복잡한 루프 시스템을 사용하고

, 여기에 어떤 도움도 대단히 감사하겠습니다 전체 코드

<?php      
$last_value = null; 
echo "<div class=\"timeline\">"; 

$pNumber = 0; 
      while ($row = mysql_fetch_assoc($sql)) { 

         if (!is_null($last_value)) { 
          $pNumber++; 
         $a = new DateTime($row['FilmRelease']); 
         $film_date = $row['FilmRelease']; 

         $film_name = urldecode($row['FilmName']); 
         $film_desc = urldecode($row['Synopsis']); 
         echo "<div id=\"t".$pNumber."\"><p class=\"everyday\">".$film_name."</div>"; 


          if (empty($film_desc)) { 
          echo "<div id=\"b".$pNumber."\" style=\"font-size:12px;\">No film information for ".$film_name."</div>"; 
          } 
          else 
          { 
          echo "<div id=\"b".$pNumber."\" style=\"font-size:12px;\">".$film_desc."</div>"; 
          } 

            ?> <script type="text/javascript"> 
            $("#b<?php echo $pNumber ?>").hide(); 
           $("#t<?php echo $pNumber ?>").click(function() { 
            $("#b<?php echo $pNumber ?>").fadeToggle("slow"); 
           }); 


           </script> 
           <?php 
            $interval = $a->diff(new DateTime($last_value)); 
            //echo $interval->format('%d days'); 
            $b = new DateTime($last_value); 
            $i = 0; 
           } 

           if ($b == $a) 
           { 
            echo "same date as above"; 
           } else 
           { 
            echo "This date is different"; 
           } 

         $howManydays = $interval->days; 

         for ($i; $i < $howManydays; $i++) { 
          echo "<p class=\"day\"></p>"; 


         } 

       $last_value = $row['FilmRelease']; 
      } 
      echo "<div id=\"end\"></end>"; 
      echo "</div>"; 

      ?> 

:

+0

이는 데이터가 어떻게 구성되어 있는지에 달려 있지만 데이터가 어떻게 보이는지 보여주지 못했습니다. (날짜순으로 데이터를 정렬하고 날짜가 변경 될 때만 쓰십시오) – symcbean

답변

0

간단한 예입니다 당신 같은 :

2012-04-01 

Film A 
Film B 

2012-04-02 

Film C 

2012-04-05 

Film D 
Film E 
+0

안녕하세요, 저는 형식으로 작업하고 있습니다. ($ b == $ a) { echo "same date with above"; } else { echo "이 날짜는 다릅니다"; } 동일한 영화 날짜를 가진 그룹에서 첫 번째 결과 만 에코하려면 – DIM3NSION

+1

업데이트를 참조하십시오. 너가 원하는게 그거야? – deceze

+0

나는 지금 이것을 가지고있다 - http://ignitethatdesign.com/CheckFilm/test_search.php – DIM3NSION

관련 문제