Ordner Struktur mittels Datenbank

Ordner Schachtelung mittels Datenbank

Hallo und guten Abend Tutorials.de Community,
mein anliegen bezieht sich auf Ordner strukturen via mySQL Datenbank.

Ich möchte ein Übersichtsscript mit vielen Unterordnern erstellen. Heißt ich kann für jeden Ordner beliebig viele Unterordner erstellen, und in diese auch wieder Unterordner.

Ich habe mir einen Ansatz überlegt, bloss ich hänge fest.
Meine Datenbank struktur sieht so aus:

id | subid | mainid | position | foldername
1 | 0 | 0 | 0 | Hauptordner
2 | 1 | 1 | 1 | Unterordner A
3 | 1 | 1 | 1 | Unterordner B
4 | 2 | 1 | 2 | Unterordner C von A
5 | 2 | 1 | 2 | Unterordner D von A
6 | 4 | 1 | 3 | Unterordner E von C

Ich hoffe man versteht so wie ich das meine.
Ebenfalls habe ich schon ein bischen angefangen das zuprogrammieren.
Hier mein erster Versuch:

PHP:
$query_headkats = mysql_query("SELECT * FROM modb_tuts_headkat WHERE position = '0' ORDER by headkat_name ",$conn3);
while($headkat = mysql_fetch_object($query_headkats))
{
// ------------- Count Positions ----------
$query_countpositions = mysql_query("SELECT * FROM modb_tuts_headkat WHERE mainid = '$headkat->id'",$conn3);
$countpositions = mysql_num_rows($query_countpositions);
// ----------------------------------------
echo "<strong> - ".$headkat->headkat_name." ($countpositions)</strong><br/>";

// ------------- List All Items -----------
for($i = 1; $i <= $countpositions; $i++)
{
$query_subkat = mysql_query("SELECT * FROM modb_tuts_headkat WHERE position = '$i'",$conn3);
while($subkat = mysql_fetch_object($query_subkat))
{

echo "&nbsp;&nbsp;&nbsp;  - ".$subkat->headkat_name."<br/>";
$save_last_id = $subkat->id;
}

}
// ----------------------------------------

}

Ich weiß leider nicht mehr weiter.
Hat jemand eine Idee, bzw eine Lösung?
 
Zuletzt bearbeitet:
Re: Ordner Schachtelung mittels Datenbank

Also Du gibts beim anlegen den Obeordner mit
Danach ließt du für diesen Ordner id und position aus.
position+1 als Position für den Neuen Ordner schreiben und
subid für den Ordner wird id vom Oberordner. (Warum nennst du das subid Das ist ne parentid)
Dann schreiben und rekursiv auslesen! Fertig!

Wenn du nicht weiß wie das rekursiv geht, musst du mal im Forum oder bei google gucken. Da gibst genug zu!

MfG

Sebs
 
Zurück