필름으로로드하고 출시 날짜의 차이를 계산하여 타임 라인 효과를 만들기 위해 필름 릴리즈가없는 "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>";
?>
:
이는 데이터가 어떻게 구성되어 있는지에 달려 있지만 데이터가 어떻게 보이는지 보여주지 못했습니다. (날짜순으로 데이터를 정렬하고 날짜가 변경 될 때만 쓰십시오) – symcbean