json_encode das gesamte Array und fügen Sie es in die Datenbank ... Sie brauchen auch nur eine Spalte ...
Ich muss alle Dateien / Ordner in einem bestimmten übergeordneten Ordner auflisten und in mysql ausgeben.
Bisher habe ich:
%Vor% Woran ich festhalte, ist, wie ich ID
s den Verzeichnissen zuweisen und sie dann ihren Eltern ID
zuordnen kann.
Im Moment macht dieser Code-Typ, was ich brauche, ich muss nur in der Lage sein, ihn in mysql-insert-Anweisungen umzuwandeln, behalte aber die assoziative Struktur, und ich bin von einer langen langen Arbeitswoche befreit / p>
Am Ende möchte ich eine Tabellenstruktur ähnlich der folgenden haben:
FileID, FolderID, ParentFolderID, Dateiname
Wie kann ich das tun?
Ich habe deinen Code etwas modifiziert. Jetzt für jedes Verzeichnis,
Index 0 zeigt auf Verzeichnisindex
index 1 zeigt auf den übergeordneten Verzeichnisindex
index 2,3, .... n zeigt auf Dateien
%Vor%Sie können jetzt die Daten direkt in mysql-Tabellen einfügen, indem Sie eine ähnliche rekursive Schleife verwenden (wenn Sie keine automatisch generierte mysql-ID verwenden möchten)
Wenn Sie die automatisch generierte mysql-ID verwenden möchten, sollten Sie das Einfügen in zwei Durchgängen durchführen. Im ersten Durchlauf fügen Sie die Ordnerdaten ein und erhalten die ID von mysql insert id function. Erstellen Sie dann eine assoziative Array-Map
$ array_map [$ aktuelle_folder_id] = mysqli_insert_id ()
Aktualisieren Sie diese ID dann im zweiten rekursiven Durchlauf
Ich denke, Sie müssen Ordnernamen auch als Datensätze in die DB einfügen, sonst erhalten Sie keine Eltern-ID. Aber in Ihrem Ergebnis fehlen die Ordnernamen als Datensatzelemente. Ich habe Ihren Code mit der Annahme modifiziert, dass Sie das Ergebnis nicht als Array, sondern nur als SQL-Anweisung benötigen.
%Vor%Sie können den Code & amp; die Abfrage bei Bedarf
Jede Zeile in Ihrer Mysql-Verzeichnistabelle hat drei Spalten -
Verzeichnis-ID, Verzeichnisname, übergeordnete ID
Für jede Einfügung wird die Eltern-ID den Elternteil des aktuellen Verzeichnisses in einer Zeile angeben. Für die Stammverzeichnis-Eltern-ID ist 0
Ich muss alle Dateien / Ordner in einem bestimmten übergeordneten Ordner auflisten und in mysql ausgeben.
Bisher habe ich:
%Vor%Woran ich festhalte, ist, wie ich %code% s den Verzeichnissen zuweisen und sie dann ihren Eltern %code% zuordnen kann.
Im Moment macht dieser Code-Typ, was ich brauche, ich muss nur in der Lage sein, ihn in mysql-insert-Anweisungen umzuwandeln, behalte aber die assoziative Struktur, und ich bin von einer langen langen Arbeitswoche befreit / p>
Am Ende möchte ich eine Tabellenstruktur ähnlich der folgenden haben:
FileID, FolderID, ParentFolderID, Dateiname
Wie kann ich das tun?
Ich habe deinen Code etwas modifiziert. Jetzt für jedes Verzeichnis,
Index 0 zeigt auf Verzeichnisindex
index 1 zeigt auf den übergeordneten Verzeichnisindex
index 2,3, .... n zeigt auf Dateien
%Vor%Sie können jetzt die Daten direkt in mysql-Tabellen einfügen, indem Sie eine ähnliche rekursive Schleife verwenden (wenn Sie keine automatisch generierte mysql-ID verwenden möchten)
Wenn Sie die automatisch generierte mysql-ID verwenden möchten, sollten Sie das Einfügen in zwei Durchgängen durchführen. Im ersten Durchlauf fügen Sie die Ordnerdaten ein und erhalten die ID von mysql insert id function. Erstellen Sie dann eine assoziative Array-Map
$ array_map [$ aktuelle_folder_id] = mysqli_insert_id ()
Aktualisieren Sie diese ID dann im zweiten rekursiven Durchlauf
versuche so etwas:
%Vor%Ich denke, Sie müssen Ordnernamen auch als Datensätze in die DB einfügen, sonst erhalten Sie keine Eltern-ID. Aber in Ihrem Ergebnis fehlen die Ordnernamen als Datensatzelemente. Ich habe Ihren Code mit der Annahme modifiziert, dass Sie das Ergebnis nicht als Array, sondern nur als SQL-Anweisung benötigen.
%Vor%Sie können den Code & amp; die Abfrage bei Bedarf
json_encode das gesamte Array und fügen Sie es in die Datenbank ... Sie brauchen auch nur eine Spalte ...
Eine wirklich nützliche Möglichkeit, Ihre Datenbank zu strukturieren, sind verschachtelte Sätze. Joomla verwendet dies für Dinge wie Artikelkategorien. Diese können unendlich ineinander verschachtelt sein.
Jede Zeile in Ihrer Mysql-Verzeichnistabelle hat drei Spalten -
Verzeichnis-ID, Verzeichnisname, übergeordnete ID
Für jede Einfügung wird die Eltern-ID den Elternteil des aktuellen Verzeichnisses in einer Zeile angeben. Für die Stammverzeichnis-Eltern-ID ist 0
Ich muss alle Dateien / Ordner in einem bestimmten übergeordneten Ordner auflisten und in mysql ausgeben.
Bisher habe ich:
%Vor%Woran ich festhalte, ist, wie ich %code% s den Verzeichnissen zuweisen und sie dann ihren Eltern %code% zuordnen kann.
Im Moment macht dieser Code-Typ, was ich brauche, ich muss nur in der Lage sein, ihn in mysql-insert-Anweisungen umzuwandeln, behalte aber die assoziative Struktur, und ich bin von einer langen langen Arbeitswoche befreit / p>
Am Ende möchte ich eine Tabellenstruktur ähnlich der folgenden haben:
FileID, FolderID, ParentFolderID, Dateiname
Wie kann ich das tun?
Ich habe deinen Code etwas modifiziert. Jetzt für jedes Verzeichnis,
Index 0 zeigt auf Verzeichnisindex
index 1 zeigt auf den übergeordneten Verzeichnisindex
index 2,3, .... n zeigt auf Dateien
%Vor%Sie können jetzt die Daten direkt in mysql-Tabellen einfügen, indem Sie eine ähnliche rekursive Schleife verwenden (wenn Sie keine automatisch generierte mysql-ID verwenden möchten)
Wenn Sie die automatisch generierte mysql-ID verwenden möchten, sollten Sie das Einfügen in zwei Durchgängen durchführen. Im ersten Durchlauf fügen Sie die Ordnerdaten ein und erhalten die ID von mysql insert id function. Erstellen Sie dann eine assoziative Array-Map
$ array_map [$ aktuelle_folder_id] = mysqli_insert_id ()
Aktualisieren Sie diese ID dann im zweiten rekursiven Durchlauf
versuche so etwas:
%Vor%Ich denke, Sie müssen Ordnernamen auch als Datensätze in die DB einfügen, sonst erhalten Sie keine Eltern-ID. Aber in Ihrem Ergebnis fehlen die Ordnernamen als Datensatzelemente. Ich habe Ihren Code mit der Annahme modifiziert, dass Sie das Ergebnis nicht als Array, sondern nur als SQL-Anweisung benötigen.
%Vor%Sie können den Code & amp; die Abfrage bei Bedarf
json_encode das gesamte Array und fügen Sie es in die Datenbank ... Sie brauchen auch nur eine Spalte ...
Eine wirklich nützliche Möglichkeit, Ihre Datenbank zu strukturieren, sind verschachtelte Sätze. Joomla verwendet dies für Dinge wie Artikelkategorien. Diese können unendlich ineinander verschachtelt sein.
Jede Zeile in Ihrer Mysql-Verzeichnistabelle hat drei Spalten -
Verzeichnis-ID, Verzeichnisname, übergeordnete ID
Für jede Einfügung wird die Eltern-ID den Elternteil des aktuellen Verzeichnisses in einer Zeile angeben. Für die Stammverzeichnis-Eltern-ID ist 0