foreach循环周围的ul列表显示不正确

时间:2012-12-10 08:39:00

标签: php html twitter-bootstrap

我有一个围绕ul无序列表的foreach循环,第一个li是一个主要主题,后面应该是属于该主题的项目。

这应该是什么样子

enter image description here

“人物和系统”一词为li,其中包含nav-header类。

这就是我的ul与标题和项目的其他示例文字一起显示的方式。

enter image description here

这是我列表的HTML输出

<ul class="nav nav-list">
<li class="nav-header">ProfileZ</li>
<li><a href="#MTIxfElrYXJpYW4tWW91dGg=.html">test</a></li>
<ul class="nav nav-list">
<li class="nav-header">zetaasdf</li>
<li><a href="#MTMwfFpldGFOZXdDYW1wYWlnbjI=.html">ZetaNewCampaign2</a></li>
<ul class="nav nav-list">
<li class="nav-header">zeta</li>
<li><a href="#MTMxfGFzZGZhc2Rm.html">asdfasdf</a></li>
</ul>
</ul></ul>

ul正在重复和嵌套,我用来生成列表的php代码如下。

<?php foreach ($profilesResults as $profilesArray) { ?>
<ul class="nav nav-list">
<li class="nav-header"><?php echo $profilesArray->name; ?></li>
<?php
$campaignsObj = new Campaigns();
$campaignsResults = $campaignsObj->getCampaignsByProfileSideBar($accountID, $profilesArray->id);
foreach ($campaignsResults as $campaignsArray) {
?>
<li><a href="<?= $this->siteUrl() ?>campaign-rankings-<?= base64_encode($campaignsArray->id . "|" . str_replace(" ", "-", $campaignsArray->name)) ?>.html"><?php echo $campaignsArray->name ?></a></li>
<?php } ?>
<?php } ?>
</ul>

我应该做些什么更改才能让我的列表显示在第一张照片中。只有一个开放和关闭ul以及li的其余部分以及特殊的分类标题li

由于

1 个答案:

答案 0 :(得分:2)

从第一个圈子中移出ul声明。它应该是这样的:

<ul class="nav nav-list">
<?php foreach ($profilesResults as $profilesArray) { ?>
    <li class="nav-header"><?php echo $profilesArray->name; ?></li>
    <?php
        $campaignsObj = new Campaigns();
        $campaignsResults = $campaignsObj->getCampaignsByProfileSideBar($accountID, $profilesArray->id);
        foreach ($campaignsResults as $campaignsArray) {
    ?>
    <li><a href="<?= $this->siteUrl() ?>campaign-rankings-<?= base64_encode($campaignsArray->id . "|" . str_replace(" ", "-", $campaignsArray->name)) ?>.html"><?php echo $campaignsArray->name ?></a></li>
    <?php } ?>
<?php } ?>
</ul>