我该如何处理这个分割模数误差?

时间:2014-05-22 14:22:47

标签: php html mysql css

我有一个生成类别菜单的功能。 我想要做的是在一个ul中分组两个类别。 问题是almos修复但我得到一个空的ul(见图)。 我怎样才能解决这个问题 ? enter image description here

 function categorie($tab){
    global $mysql;
    $return = "";
    $categorie = $mysql->select(sprintf("SELECT * FROM categorii WHERE tab = '%d'", $tab));

    if($mysql->countRows() > 0){
        $i = 0;
            $return .= "<ul class=\"group\">\n";
                foreach ($categorie as $cat) {
                    if($i % 2 == 0){
                        $return .= "</ul><ul class=\"group\">";
                    }

                    $return .= "\t<li>\n";
                    $return .= "\t\t<ul>\n";
                    $return .= "\t\t\t<li class=\"head-list\">".$cat['categorie']."</li>\n";
                    $return .= $this->subcategorie($cat['categorie']);
                    $return .= "\t\t</ul>\n";
                    $return .= "\t</li>\n";
                    $i++;
                }
                $return .= "</ul>";

    }
    return $return;

}

2 个答案:

答案 0 :(得分:1)

试试这个:

function categorie($tab){
    global $mysql;
    $return = "";
    $categorie = $mysql->select(sprintf("SELECT * FROM categorii WHERE tab = '%d'", $tab));

    if($mysql->countRows() > 0){
        $i = 0;
            $return .= "<ul class=\"group\">\n";
                foreach ($categorie as $cat) {
                    if($i % 2 == 0 && !empty($i)){
                        $return .= "</ul><ul class=\"group\">";
                    }

                    $return .= "\t<li>\n";
                    $return .= "\t\t<ul>\n";
                    $return .= "\t\t\t<li class=\"head-list\">".$cat['categorie']."</li>\n";
                    $return .= $this->subcategorie($cat['categorie']);
                    $return .= "\t\t</ul>\n";
                    $return .= "\t</li>\n";
                    $i++;
                }
                $return .= "</ul>";

    }
    return $return;

}

答案 1 :(得分:0)

从-1开始计数

$i = -1;