DrBonsai
Mitglied
Hallo,
ich versuche ein verschachteltes Menü aus einer Datenbank zu generieren.
Ich habe dafür ein zweidimensionales Array in der Form $side_navigation[$parent_id][$id].
Das soll nun natürlich als Liste ausgegeben werden. Dazu muss ich prüfen, ob eine ID als parent_id vorhanden ist und alle children unter dieser ID anlegen.
Mein Array sieht so aus:
Ausgegeben werden soll am Ende sowas:
Im Grunde müsste also eine Schleife so etwas machen:
Problem: So ersetze ich meine Parents komplett. Hat jemand eine Idee, wie ich die Parents erhalten kann?
Vllt auch einen ganz anderen Ansatz?
Vielen Dank!
mfg,
David
ich versuche ein verschachteltes Menü aus einer Datenbank zu generieren.
Ich habe dafür ein zweidimensionales Array in der Form $side_navigation[$parent_id][$id].
Das soll nun natürlich als Liste ausgegeben werden. Dazu muss ich prüfen, ob eine ID als parent_id vorhanden ist und alle children unter dieser ID anlegen.
Mein Array sieht so aus:
PHP:
array
3 =>
array
0 => string '19' (length=2)
1 => string '23' (length=2)
2 => string '20' (length=2)
3 => string '22' (length=2)
4 => string '21' (length=2)
1 =>
array
0 => string '4' (length=1)
1 => string '3' (length=1)
0 =>
array
0 => string '1' (length=1)
1 => string '2' (length=1)
2 => string '10' (length=2)
3 => string '7' (length=1)
4 => string '14' (length=2)
5 => string '8' (length=1)
6 => string '11' (length=2)
7 => string '13' (length=2)
8 => string '15' (length=2)
9 => string '9' (length=1)
10 => string '18' (length=2)
11 => string '12' (length=2)
12 => string '17' (length=2)
13 => string '16' (length=2)
Ausgegeben werden soll am Ende sowas:
PHP:
array
0 =>
array
0 => string '1' (length=1)
0.5 =>
array
0 => string '4' (length=1)
1 => string '3' (length=1)
1.5 =>
array
0 => string '19' (length=2)
1 => string '23' (length=2)
2 => string '20' (length=2)
3 => string '22' (length=2)
4 => string '21' (length=2)
1 => string '2' (length=1)
2 => string '10' (length=2)
3 => string '7' (length=1)
4 => string '14' (length=2)
5 => string '8' (length=1)
6 => string '11' (length=2)
7 => string '13' (length=2)
8 => string '15' (length=2)
9 => string '9' (length=1)
10 => string '18' (length=2)
11 => string '12' (length=2)
12 => string '17' (length=2)
13 => string '16' (length=2)
Im Grunde müsste also eine Schleife so etwas machen:
PHP:
foreach($side_navigation as $parent_id => $ids)
{
foreach($ids as $key => $id)
{
if(isset($side_navigation[$id])) /*Wenn die aktuelle ID als Parent vorhanden ist...*/
{
$array_id[$parent_id][$key] = $array_id[$id];
}
}
}
print_r($array_id[0][0]);
Problem: So ersetze ich meine Parents komplett. Hat jemand eine Idee, wie ich die Parents erhalten kann?
Vllt auch einen ganz anderen Ansatz?
Vielen Dank!
mfg,
David