php迭代ul分割

标签 php jquery html css html-lists

目前,我从MySQL中获取数据如下:

$catmapper = new Application_Model_Mapper_BusinessCategoryMapper();
$result = $catmapper->getBusinessCategory();

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

$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标签,如果超过另一个 ul将生成并添加下一个 li进入其中。

最佳答案

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

$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 (($i-1) % 5 != 0) { 用于最后一个 if 语句。

关于php迭代ul分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15263080/

相关文章:

php - Mysql比较表中的IP地址

php - 为托管商中的 foreach php pdo 提供的参数无效

php - 使用 Zend_Http_Client 发送 post 请求

javascript - 合并 2 个单选按钮组?

jquery - 数据表服务器端未正确对带有数字的文本进行排序

html - DomIcon 的集群

php - 让 AJAX GET 处理空白时出现问题

Jquery - 单击外部或单击另一个下拉列表时关闭下拉列表/删除事件类

html - 显示 "Your download will begin in x seconds"有什么好处?

html - 显示与图标内联的文本和文本转换不起作用