php - How to render a pyramide with each row by level property? -
array (     array(       ['name'] => 'test1',      ['level'] => 1     },    array(       ['name'] => 'test2',      ['level'] => 2     },     array(       ['name'] => 'test3',      ['level'] => 2     },    array(       ['name'] => 'test4',      ['level'] => 3     },    array(       ['name'] => 'test5',      ['level'] => 3     },    array(       ['name'] => 'test6',      ['level'] => 3     },    array(       ['name'] => 'test7',      ['level'] => 3     },    )   i have array of arrays sorted level, want make this:
                  ________                    |        |                   |  test1 |                   |________|         ________              ________       |        |            |        |       |  test2 |            |  test3 |       |________|            |________|  ________   ________   ________   ________ |        | |        | |        | |        | |  test4 | |  test5 | |  test6 | |  test7 | |________| |________| |________| |________|   render them pyramide each row level, first how render using recursion or using while loop? make each level wrapped <ul> , nodes <li>
i'am trying render loop, don't know how, logic?:
    while ($item = $this->dbtree->nextrow()) {          $rows[] = (object)$item;      }     print_r($res); // list of arrays above     exit;   thanks attention
you can first iterate on array , sort them in levels in application logic:
foreach ($res $resvalue){     if (!isset($levelsorted[$resvalue['level'])){         $levelsorted[$resvalue['level'] = array();     }     $levelsorted[$resvalue['level'][] = $resvalue; }   in view can this:
foreach ($levelsorted $level => $levelres){     echo '<ul id="level' . $level . '">';     foreach ($levelres $singleres){         echo '<li>' . $singleres['name'] . '</li>';     }     echo '</ul>'; }   at end, have more 1 loop, consistent mvc pattern.
Comments
Post a Comment