Hallo 
ich stehe gerade vor einem großen problem. ich möchte ein array, was ich aus meiner datenbankabfrage erhalten habe, komplett umstrukturieren bzw umsortieren.
das eingangs-array ist folgendermaßen aufgebaut:
als ausgang sollte ein array mit folgendem schema entstehen:
das ist mit folgendem code entstanden
ansich macht das script schon alles richtig, aber nach dem letzten eintrag, wo 'parent_catid' = 1 ist, sollte danach wieder ein stück array kommen mit 'parent_catid' = 0 und darauf die elemente, die , die 'parent_catid' = id des vorangenagenen elements mit 'parent_catid' = 0 haben usw... und das schaff ich irgendwie nicht..
es soll also eine strukturierung n-ten grades entstehen...
hab schon 12h an dem problem gesessen, aber bin zu keiner lösung gekommen. könnt ihr mir helfen? gibts probleme beim verstehen meines problems?
mfg
obstler

ich stehe gerade vor einem großen problem. ich möchte ein array, was ich aus meiner datenbankabfrage erhalten habe, komplett umstrukturieren bzw umsortieren.
das eingangs-array ist folgendermaßen aufgebaut:
Code:
[0]=> array(3) { ["id"]=> string(1) "1" ["name"]=> string(8) "testcat1" ["parent_catid"]=> string(1) "0" } [1]=> array(3) { ["id"]=> string(1) "2" ["name"]=> string(8) "testcat2" ["parent_catid"]=> string(1) "1" } [2]=> array(3) { ["id"]=> string(1) "3" ["name"]=> string(8) "testcat3" ["parent_catid"]=> string(1) "0" } [3]=> array(3) { ["id"]=> string(1) "4" ["name"]=> string(8) "textcat4" ["parent_catid"]=> string(1) "2" } [4]=> array(3) { ["id"]=> string(1) "5" ["name"]=> string(8) "testcat5" ["parent_catid"]=> string(1) "1" } [5]=> array(3) { ["id"]=> string(1) "6" ["name"]=> string(8) "testcat6" ["parent_catid"]=> string(1) "3" } [6]=> array(3) { ["id"]=> string(1) "7" ["name"]=> string(8) "testcat7" ["parent_catid"]=> string(1) "1" } [7]=> array(3) { ["id"]=> string(1) "8" ["name"]=> string(8) "testcat8" ["parent_catid"]=> string(1) "1" } }
Code:
[0]=> array(3) { ["id"]=> string(1) "1" ["name"]=> string(8) "testcat1" ["parent_catid"]=> string(1) "0" } [1]=> array(3) { ["id"]=> string(1) "2" ["name"]=> string(8) "testcat2" ["parent_catid"]=> string(1) "1" } [2]=> array(3) { ["id"]=> string(1) "4" ["name"]=> string(8) "textcat4" ["parent_catid"]=> string(1) "2" } [3]=> array(3) { ["id"]=> string(1) "5" ["name"]=> string(8) "testcat5" ["parent_catid"]=> string(1) "1" } [4]=> array(3) { ["id"]=> string(1) "7" ["name"]=> string(8) "testcat7" ["parent_catid"]=> string(1) "1" } [5]=> array(3) { ["id"]=> string(1) "8" ["name"]=> string(8) "testcat8" ["parent_catid"]=> string(1) "1" } ... usw
das ist mit folgendem code entstanden
PHP-Code:
...
foreach ($cats as $cat) {
if ($newcats) {
foreach ($newcats as $newcat) {
if($cat['parent_catid']==$newcat['id']) $newcats[]=$cat;
}
}
elseif($cat['parent_catid']==0) $newcats[]=$cat;
}
...
es soll also eine strukturierung n-ten grades entstehen...
hab schon 12h an dem problem gesessen, aber bin zu keiner lösung gekommen. könnt ihr mir helfen? gibts probleme beim verstehen meines problems?
mfg
obstler
Kommentar