我想显示所有现有类别和所有帖子。
我写了一个foreach循环,但我不知道结束ul标记的位置。
我的代码:
<?php
$current_cat = 0;
$curr_nb_item = 0;
foreach($blog_widget as $row)
{
if($current_cat != $row->category_id)
{
$current_cat = $row->category_id;
echo "<ul> " . $row->category_id . " ";
echo "<li>";
echo $row->title;
echo "</li>";
++$curr_nb_item;
}
else {
echo "<li>";
echo $row->title;
echo "</li>";
++$curr_nb_item;
}
}
?>
现在我在html中得到了这个结果:
<ul>1
<li>
cat 1 post n
</li>
<li>
cat 1 post h
</li>
<ul>2
<li>
cat 2 post x
</li>
<li>
cat 2 post y
</li>
我尝试了很多没有结果的变化。我希望有人可以帮助我。非常感谢。
答案 0 :(得分:1)
这可能不是最干净的,但应该有效。修改if语句的顶部如下所示:
if($current_cat != $row->category_id)
{
if ($row != $blog_widget[0])
{
echo "</ul>";
}
$current_cat = $row->category_id;
echo "<ul> " . $row->category_id . " ";
// etc...
然后在你的foreach循环的结束括号之后:
echo "</ul>";