der-daniel: möchte verzeichnisbaum erstellen -> schleifenproblem

Beitrag lesen

hallo auch,
ich verzweifel an ner schleife.
ich habe in einer datenbank einen verzeichnisbaum abgebildet.
jeder ordner hat eine id und ein subid. die subid ist die id des übergeordneten elementes.
folgende struktur:
/

  • ordner 1
    |
  • ordner 2
    | |
    | + subordner 2.1
    | | + subordner 2.1.1
    | |   +subordner 2.1.1.1
    | + subordner 2.2
    |
  • ordner 3

sieht in der db so aus:
id|name              |subid |
--+------------------+------+
1 |ordner 1          |0     |
2 |ordner 2          |0     |
3 |ordner 3          |0     |
4 |subordner 2.1     |2     |
5 |subordner 2.2     |2     |
6 |subordner 2.1.1   |4     |
7 |subordner 2.1.1.1 |6     |

so nun hab ich mir das skript so gedacht:
1. alle ordner mit subid 0 via while-schleife
   erstellen wenn noch nicht vorhanden und
   gleich reinwechseln.
2. alle ordner deren subid die aktuelle id ist
   mit der gleichen methodik anlegen
3. wieder ein verzeichnis höher wechseln, damit der pfad stimmt
   für den nächsten while-durchlauf

und hier hakts bei mir. das läuft gut bis zur zweiten ordnerebene (subordner 2.1) aber alles was noch tiefer ist wird nicht angelegt.

ich weiß nicht, wie ich das angehen soll, damit ich unendlich tiefe strukturen anlegen kann. mit meiner aktuellen emthodik schliesse ich natürlich alle unterstrukturen ab der 2. ebene aus.
ich könnte zwar meine skript einfach hundertmal inneinander verschachteln, aber das macht ja auch keinen sinn...

habt ihr da ideen dazu?

danke für eure hilfe,
der-daniel

hier mein gekürzter code zum besseren verständnis:

<-- mysql-abfrage für hauptordner mit id 0 -->
while (mysql_fetch_object)
{
 if ($ordner-id == "0")
 {
  if (!@ftp_chdir($ftp, $ordner))
  {
   ftp_mkdir($ftp, $ordner);
   ftp_chdir($ftp, $ordner);
   <-- mysql-abfrage für subordner mit subid 0 -->
   while (mysql_fetch_object)
    {
     if (!@ftp_chdir($ftp, $subordner))
     {
      ftp_mkdir($ftp, $subordner);
      HIER MÜSSTE ICH WIEDER IN DEN ORDNER UND WIEDER CHECKEN AUF SUBORDNER
      WEISS ABER NICHT WIE ICH DAS MACHEN SOLL UM UNENDLICHE STRUKTUREN
      ABBILDEN ZU KÖNNEN
     }
    }
    ftp_cdup($ftp);
  }
  ftp_cdup($ftp);
 }
}