我正在构建一个交互式时间线,用于加载电影并计算它们的发行日期之间的差异,从而显示没有任何电影发行的“天数”来创建时间线效果。但是我有一些在同一天上映的电影。我不想一遍又一遍地重复这些电影的日期,而只是像群体效果一样显示第一部电影的日期。
我操纵了一个if
循环遍历表并检查日期是否与前一行的日期相同的语句。
http://ignitethatdesign.com/CheckFilm/test_search.php
但是,我将如何使用 PHP 仅显示一组具有相同日期的电影中第一部电影的日期?
我正在使用一个复杂的循环系统,这是完整的代码
<?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>";
?>
任何帮助将不胜感激 :)