首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php迭代ul分割

问php迭代ul分割
EN

Stack Overflow用户
提问于 2013-03-07 12:26:43
回答 3查看 71关注 0票数 2

目前,我从MySQL获取数据的方法如下:

代码语言:javascript
复制
$catmapper = new Application_Model_Mapper_BusinessCategoryMapper();
$result = $catmapper->getBusinessCategory();

我使用for循环将上面的结果迭代到<li>标记中,如下所示:

代码语言:javascript
复制
$mcat = "<ul>";
for($i=0; $i<count($result); $i++){
    $mcat = $mcat . "<li class='refinecategory'><a id='refine_category_0_0' class='browse-category' href='/business/searchreviews?mct=active' rel='active'>".$result[$i]['cat_name']."</a></li>";
}
$mcat = $mcat . "</ul>";

但这将在ul标记中生成一个巨大的列表。如何将上述语句分解为多个ul标记?在每个ul中,我只需要5个li标签,如果超过5个,另一个ul将生成下一个li并添加到其中。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-03-07 12:32:31

我会“倾听”$i何时能被5整除,就像这样:

代码语言:javascript
复制
$mcat = "<ul>";
for($i=0; $i<count($result); $i++){
    if ($i % 5 == 0 && $i > 0) {
        $mcat .= "</ul><ul>";
    }
    $mcat .= "<li class='refinecategory'><a id='refine_category_0_0' class='browse-category' href='/business/searchreviews?mct=active' rel='active'>".$result[$i]['cat_name']."</a></li>";
}
if ($i % 5 != 0) {
    $mcat .= "</ul>";
}

这应该会导致你的列表每5项被拆分一次。我还没有测试过它,所以如果你碰巧得到了一个额外的列表,当你有一个可以被5整除的项目时,你应该对最后一条if语句执行if (($i-1) % 5 != 0) {。

票数 3
EN

Stack Overflow用户

发布于 2013-03-07 12:33:20

尝试使用MOD运算符在循环的每5次迭代中执行一些特殊的操作。

代码语言:javascript
复制
$mcat = "<ul>";
for($i=0; $i<count($result); $i++){
$mcat = $mcat . "<li class='refinecategory'><a id='refine_category_0_0' class='browse-category' href='/business/searchreviews?mct=active' rel='active'>".$result[$i]['cat_name']."</a></li>";
if($i % 5){
$mcat = $mcat . "</ul><ul>";
}
}
$mcat = $mcat . "</ul>";
票数 3
EN

Stack Overflow用户

发布于 2013-03-07 12:31:39

将以下代码与mod一起使用

代码语言:javascript
复制
$mcat = "<ul>";
for($i=0; $i<count($result); $i++){
    if($i%5 == 0  && $i > 0) {
        $mcat .= "</ul><ul>";
    } else {
        $mcat = $mcat . "<li class='refinecategory'><a id='refine_category_0_0' class='browse-category' href='/business/searchreviews?mct=active' rel='active'>".$result[$i]['cat_name']."</a></li>";
    }
}
$mcat = $mcat . "</ul>";
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15263080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档