Hallo zusammen,
kann man mit php nur Daten an den Anfang oder an das Ende eines Arrays anfügen, oder kann man auch Daten mitten in ein Array einfügen ? Unter C++ kann man das mit der Container STL Vektor lösen, gibt es so etwas auch unter php ? Ich habe in der Doku nur die normalen Array-Funktionen Push, Pop, Shift und Unshift gefunden.
Zur Information, ich möchte folgendes Problem lösen:
Ich habe ein Menü für eine Homepage von der Konfiguration/Erweiterung per Textdatei auf eine MySQL-DB umgestellt. Eine Zeile besteht aus einer eindeutigen ID, einer Menü_id (z.B. 9, 9_1, 9_1_1 usw), einer Menübezeichnung, dem Link und einem Feld, welches angibt wieviele Untermenüpunkte vorhanden sind.
Wenn ich jetzt einen Menüpunkt mittendrin hinzufügen will, muß ich momentag alle darauffolgenden Menüpunkte händisch um eins verschieben. Dies würde ich gerne per PHP-Script automatisieren.
Wenn ein First-Level Menüpunkt (z.B. 9) hinzugefügt wird, sollen alle darauffolgenden Punkte um eins nach hinten geschoben werden. Wenn ein Menüpunkt gelöscht wird, sollen alle folgenden Punkte um eins nach vorne geschoben werden. Desweiteren sollen Menüpunkte "verschoben" werden können. Wenn ein Untermenüpunkt angelegt wird, muß in dem First-Level-Menüpunkt die Anzahl der Untermenüpunkte erhöht werden.
Ich hatte mir als Lösung überlegt, die komplette Tabelle Menü in ein Array einzulesen, die Veränderungen entsprechend vorzunehmen, das Array zu sortieren, die aktuellen Daten in der Tabelle Menü zu löschen und dann die Dates des Arrays in die Tabelle Menü zu schreiben.
Gibt es für das Problem oder evtl. für Teilprobleme fertige Funktionen oder Scripte, mit welchen das Problem zu lösen ist ? Ich habe dazu bisher nichts gefunden. Auch Literaturhinweise oder Lösungsansätze sind willkommen, da ich momentan noch absolut keine Idee habe, wie ich das Problem lösen kann.
Danke und Viele Grüsse
Heiko
kann man mit php nur Daten an den Anfang oder an das Ende eines Arrays anfügen, oder kann man auch Daten mitten in ein Array einfügen ? Unter C++ kann man das mit der Container STL Vektor lösen, gibt es so etwas auch unter php ? Ich habe in der Doku nur die normalen Array-Funktionen Push, Pop, Shift und Unshift gefunden.
Zur Information, ich möchte folgendes Problem lösen:
Ich habe ein Menü für eine Homepage von der Konfiguration/Erweiterung per Textdatei auf eine MySQL-DB umgestellt. Eine Zeile besteht aus einer eindeutigen ID, einer Menü_id (z.B. 9, 9_1, 9_1_1 usw), einer Menübezeichnung, dem Link und einem Feld, welches angibt wieviele Untermenüpunkte vorhanden sind.
Wenn ich jetzt einen Menüpunkt mittendrin hinzufügen will, muß ich momentag alle darauffolgenden Menüpunkte händisch um eins verschieben. Dies würde ich gerne per PHP-Script automatisieren.
Wenn ein First-Level Menüpunkt (z.B. 9) hinzugefügt wird, sollen alle darauffolgenden Punkte um eins nach hinten geschoben werden. Wenn ein Menüpunkt gelöscht wird, sollen alle folgenden Punkte um eins nach vorne geschoben werden. Desweiteren sollen Menüpunkte "verschoben" werden können. Wenn ein Untermenüpunkt angelegt wird, muß in dem First-Level-Menüpunkt die Anzahl der Untermenüpunkte erhöht werden.
Ich hatte mir als Lösung überlegt, die komplette Tabelle Menü in ein Array einzulesen, die Veränderungen entsprechend vorzunehmen, das Array zu sortieren, die aktuellen Daten in der Tabelle Menü zu löschen und dann die Dates des Arrays in die Tabelle Menü zu schreiben.
Gibt es für das Problem oder evtl. für Teilprobleme fertige Funktionen oder Scripte, mit welchen das Problem zu lösen ist ? Ich habe dazu bisher nichts gefunden. Auch Literaturhinweise oder Lösungsansätze sind willkommen, da ich momentan noch absolut keine Idee habe, wie ich das Problem lösen kann.
Danke und Viele Grüsse
Heiko
Comment