Autor Zpráva
Pata
Profil *
Pěkný den, vytvářím x-rozměrné menu (několika-úrovňové). Narazil jsem ale na potřebu, setřídit pole, které mi vrací výsledek z db na specificky formátované pole, které použije plugin SmartyMenu a následně ho zobrazí.

Takto vypadá pole z dotazu na db:
$data = array (
            array ('id' => 1, 'id_rodice' => 0,'nazev' => 'Články',		    'poradi' => 2),
            array ('id' => 7, 'id_rodice' => 6,'nazev' => 'Programování',	'poradi' => 1),
            array ('id' => 2, 'id_rodice' => 0,'nazev' => 'Úvod',			'poradi' => 1),
            array ('id' => 3, 'id_rodice' => 1,'nazev' => 'Sport',			'poradi' => 2),
            array ('id' => 6, 'id_rodice' => 1,'nazev' => 'Počítače',		'poradi' => 3)
        );


Výše zmíněné pole $data, bych potřeboval setřídit do tohoto formátu:
$menu = array(
        array(
            'text' => 'Úvod',
        ),
        array(
            'text' => 'Články',
            'submenu' => array(
                array(
                    'text' => 'Počítače',
		            'submenu' => array(
		                array(
		                    'text' => 'Programování',
		                )
		             )
                ),
                array(
                    'text' => 'Sport',
                )
            )
        ),
    );


Takto formulované menu, mi plugin SmartyMenu zobrazí jako:
Úvod
Články
--Počítače
----Programování
--Sport


Již delší dobu si lámu hlavu s algoritmem pro třídění. Mohl by mi prosím někdo poradit, popř. navést správným směrem? Uvítám i jiné řešení pro Smarty.

Předem děkuji za snahu.

Pata
Alphard
Profil
http://www.webzdarma.cz/forum/read.php?f=2&i=40097&t=40097

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0