[ Milan Kragujevic @ 22.04.2011. 23:14 ] @
[ Milan Kragujevic @ 22.04.2011. 23:14 ] @
[ japan @ 22.04.2011. 23:22 ] @
[ Milan Kragujevic @ 23.04.2011. 10:09 ] @
Nije mi jasno.
Odnosno, jeste, ali kako da umesto Root <br> Pod-meni1 <br/> dobijem <li>Root <ul> Pod-meni1 </ul> </li> ???? [ Br@nkoR @ 23.04.2011. 12:54 ] @
Npr.
Code (php): $items = array( array( 'id' => 1, 'parent' => 0, 'title' => 'food', ), array( 'id' => 2, 'parent' => 1, 'title' => 'fruit', ), array( 'id' => 3, 'parent' => 2, 'title' => 'green', ), array( 'id' => 4, 'parent' => 3, 'title' => 'pear', ), array( 'id' => 5, 'parent' => 2, 'title' => 'red', ), array( 'id' => 6, 'parent' => 5, 'title' => 'cherry', ), array( 'id' => 7, 'parent' => 2, 'title' => 'yellow', ), array( 'id' => 8, 'parent' => 7, 'title' => 'bannana', ), array( 'id' => 9, 'parent' => 1, 'title' => 'meat', ), array( 'id' => 10, 'parent' => 9, 'title' => 'beef', ), array( 'id' => 11, 'parent' => 9, 'title' => 'pork', ) ); function makeTree(&$items) { $new = array(); foreach ($items as &$item) { $new[$item['id']] = &$item; $new[$item['parent']]['childs'][] = &$item; } return $new[0]['childs']; } $tree = makeTree($items); function printTree($items) { echo '<ul>'; foreach($items as $item) { if(isset($item['childs']) AND count($item['childs']) > 0) { echo '<li><a href="open.php?id='.$item['id'].'">' . $item['title'].'</a>'; printTree($item['childs']); echo '</li>'; } else { echo '<li><a href="open.php?id='.$item['id'].'">' . $item['title'].'</a></li>'; } } echo '</ul>'; } printTree($tree); [Ovu poruku je menjao Br@nkoR dana 23.04.2011. u 18:22 GMT+1] [ Milan Kragujevic @ 23.04.2011. 13:23 ] @
Neće da radi...
Kaže Code: Fatal error: Cannot use string offset as an array in /var/www/index.php on line 64 Evo koda Code (php): $menu = mysql_query("SELECT id, parent, title FROM " . $prefix . "menu") or die ('Doslo je do greske prilikom prikazivanja podataka iz MySQL baze! <br/><b>' . mysql_error() . '</b>'); $items = mysql_fetch_assoc($menu); mysql_close($connection); /* !!!Konekcija na MySQL */ function makeTree(&$items) { $new = array(); foreach ($items as &$item) { $new[$item['id']] = &$item; } foreach ($items as &$item) { $new[$item['parent']]['childs'][] = &$item; } return $new[0]['childs']; } $tree = makeTree($items); function printTree($items) { echo '<li>'; foreach($items as $item) { if(isset($item['childs']) AND count($item['childs']) > 0) { echo '<a href="stranica.php?stranicaID='.$item['url'].'&menuID='.$item['id'].'">' . $item['title'].'</a>'; echo '<ul>'; printTree($item['childs']); echo '</ul>'; echo '</li>'; } else { echo '<li><a href="stranica.php?stranicaID='.$item['url'].'&menuID='.$item['id'].'">' . $item['title'].'</a></li>'; } } echo '</li>'; } Ovo je linija 64 : Code (php): $new[$item['parent']]['childs'][] = &$item; A print_r($items); daje Code: Array ( [id] => 1 [parent] => 0 [title] => O meni ) Naravno, u bazi ima još podataka: Code: +----+--------+------------+ | id | parent | title | +----+--------+------------+ | 1 | 0 | O meni | | 2 | 1 | Biografija | | 3 | 1 | CV | +----+--------+------------+ [Ovu poruku je menjao Milan Kragujevic dana 23.04.2011. u 14:58 GMT+1] [ Br@nkoR @ 23.04.2011. 16:25 ] @
Umesto
Code (php): Stavi npr. Code (php): [ Milan Kragujevic @ 23.04.2011. 16:34 ] @
Hvala, radi!
Copyright (C) 2001-2024 by www.elitesecurity.org. All rights reserved.
|