Hallo zusammen.
Ich greife in meinen PHP Script auf eine Ordnerstruktur zu. Diese ist wie folgt aufgebaut:
folder_id | name | path
--------------------------
1 | Test | 0 => root
2 | Test2 | 1 => sub-ordner von 1
3 | Test3 | 0 => root
4 | Test4 | 1 => sub-ordner von 1
5 | Test5 | 4 => sub-ordner von 4
als path ist immer der nächste Ordner darüber angegeben. Somit kann ich einfach den ganzen Pfad zurückverfolgen.
Nun möchte ich alle Ordner in struktiererter Reihenfolge anzeigen. Dies sollte in etwas so aussehen:
- Test
-- Test2
-- Test4
--- Test5
-Test3
Ich habe bereits einige Versuche gemacht, die mich aber nicht gross weitergebracht haben...
Habe in diesem Fall probiert die Ordner, die einen unterordner haben anzusprechen.
Nun müsste ich eigentlich nur noch herausfinden, welche subfolder das sind und wieviele weitere es gibt.
Dies bereitet mir jedoch schwierigkeiten, da ich ja im foreach() jeden Ordner durcharbeite!?
Nun, gibt es while() oder andere Möglichkeiten, die mein Problem einfacher realisierbar machen oder habe ich einen einfachen denkfehler in meiner Programmierung gemacht?
Vielen Dank
Gruss Toby
Ich greife in meinen PHP Script auf eine Ordnerstruktur zu. Diese ist wie folgt aufgebaut:
folder_id | name | path
--------------------------
1 | Test | 0 => root
2 | Test2 | 1 => sub-ordner von 1
3 | Test3 | 0 => root
4 | Test4 | 1 => sub-ordner von 1
5 | Test5 | 4 => sub-ordner von 4
als path ist immer der nächste Ordner darüber angegeben. Somit kann ich einfach den ganzen Pfad zurückverfolgen.
Nun möchte ich alle Ordner in struktiererter Reihenfolge anzeigen. Dies sollte in etwas so aussehen:
- Test
-- Test2
-- Test4
--- Test5
-Test3
Ich habe bereits einige Versuche gemacht, die mich aber nicht gross weitergebracht haben...
PHP-Code:
// hole Daten
while($row = mysql_fetch_row($query_gfl)) {
$arr_gfl[$row[0]] = $row[1]; // schaffe erste Struktur
}
// Versuch einer Strukturierung
$ret = "";
foreach($arr_gfl as $k_gf => $gf) {
if(!in_array($k_gf, $arr_gfl)) { // Ordner ohne subordner
$ret .= $k_gf . "<br />";
}
else { // Ordner mit subordner...
$ret .= "- " . $k_gf . "<br />";
}
}
Nun müsste ich eigentlich nur noch herausfinden, welche subfolder das sind und wieviele weitere es gibt.
Dies bereitet mir jedoch schwierigkeiten, da ich ja im foreach() jeden Ordner durcharbeite!?
Nun, gibt es while() oder andere Möglichkeiten, die mein Problem einfacher realisierbar machen oder habe ich einen einfachen denkfehler in meiner Programmierung gemacht?
Vielen Dank
Gruss Toby
Kommentar