$sqlAandM = "SELECT * FROM #_directoryBase_categories WHERE parent_id='1' LIMIT 6";
    $getAandM =  $wpdb->get_results($sqlAandM, ARRAY_A);
    $listAandMMain = "";
        foreach ($getAandM as $getAandMExtend){

                    if($getAandMExtend[is_parent] = "yes") {
                        $listAandMMain .= "$getAandMExtend[dir_categories]";
                        //echo $listAandMMain;
                    }
                    elseif($getAandMExtend[is_parent] = "no") {
                        $listAandMSub .= "<li>$getAandMExtend[dir_sub_categories]</li>";
                    }

        }

MYSQL表结构:
当前正在输出
显示输出的内容:
请注意,由于某些原因,已将空列表项添加到子类别的输出中。我只限于6个,因为我将他们的风格低于“广告和媒体”的主要类别项目。
有没有什么方法可以跳过额外的迭代,而不直接通过mysql使用单独的查询将其作为目标呢?
我没有足够的代表张贴在体内的图像,但他们增加了一吨的明确到底发生了什么。

最佳答案

非常确定:

               if($getAandMExtend[is_parent] = "yes") {
                    $listAandMMain .= "$getAandMExtend[dir_categories]";
                    //echo $listAandMMain;
                }
                elseif($getAandMExtend[is_parent] = "no") {
                    $listAandMSub .= "<li>$getAandMExtend[dir_sub_categories]</li>";
                }

应该是
               if($getAandMExtend[is_parent] == "yes") {
                    $listAandMMain .= "$getAandMExtend[dir_categories]";
                    //echo $listAandMMain;
                }
                elseif($getAandMExtend[is_parent] == "no") {
                    $listAandMSub .= "<li>$getAandMExtend[dir_sub_categories]</li>";
                }

因为两个等号(==)询问x是否等于y。
一等于(=)是x等于y的内容,因此不会比较二者。
因此,从上面你想要==因为你正在比较没有赋值的值。

关于php - 第二个if语句的迭代次数过多,其中列出了额外的空白项目符号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27680643/

10-15 23:02