我正在从MySQL中选择一个记录集,该记录集使用$group_date
按release_date分组。
我需要做的是计算它是$group_date
的第一次迭代并输出不同的HTML,如果它不是$group_date
的第一次迭代。
不同的HTML就像在下面的代码中输出第一个echo '</div>';
一样简单。
我尝试了$i=1 and $i++
的各种变体,但我似乎无法让它工作,因为我发现的所有代码示例都是基于正常结果,而不是在它们被分组后。
<?php
while( $row = $stmt->fetch(PDO::FETCH_ASSOC) ) {
if ($group_date !== substr($row["release_date"], 0, 10)) {
$group_date = substr($row["release_date"], 0, 10);
echo '</div>';
echo $title == "" ? "" : $title;
$title = "";
echo '<div class="divide-bottom">';
echo '<h3>' . $group_date . '</h3>';
?>
答案 0 :(得分:0)
试试
if ($group_date != substr($row["release_date"], 0, 10)) {
答案 1 :(得分:0)
$iteration = 0;
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$release_date = substr($row["release_date"], 0, 10);
if ($group_date == $releaseDate && $iteration == 0) {
echo '<h3>' . $group_date . '</h3>';
$iteration++;
}
echo '<div>' . $title . '</div>';
echo '<div class="divide-bottom">';
}
答案 2 :(得分:0)
更新 - 这似乎对我有用:
<?php
$iteration = 0;
while( $row = $stmt->fetch(PDO::FETCH_ASSOC) ) {
if ($group_date !== substr($row["release_date"], 0, 10)) {
$group_date = substr($row["release_date"], 0, 10);
if ($iteration == 0) {
echo $title == "" ? "" : $title;
$title = "";
echo '<div class="divide-bottom">';
echo '<h3>' . $group_date . '</h3>';
$iteration++;
}
else {
echo '</div>';
echo $title == "" ? "" : $title;
$title = "";
echo '<div class="divide-bottom">';
echo '<h3>' . $group_date . '</h3>';
}
?>