Mehrdimensionaler Array -> Datenbank ?

Hat jemand eine Idee, eine Lösungsansatz oder gar eine fertige Klasse mit der ich einen mehrdimensionalen Array (mit Index oder assoziiert) in einen Datenbank schreiben kann und auch einfach wieder auslesen!?

Ich habs versucht selbst zu schreiben aber die anfallende Datenmenge bzw. die nötigen Anfragen an die DB sind ja gigantisch…

mfg Slick

nun ja, vielleicht solltest du dein konzept noch einmal ueberdenken.

wie wieviel dimensionen hast du denn? und welche inhalte speichsert du? und sind die keys nun indiziert oder named?

der einfachste fall fuer ein 2-dimensionales indiziertes array $array, indem nur alphanums ohne | und # gespeichert werden:

$str = '';

foreach ( $array as $elm )
{ $str .= implode('|',$elm).'#'; }

... insert into set feld='$str' ...;

nun ja, vielleicht solltest du dein konzept noch einmal
ueberdenken.

wie wieviel dimensionen hast du denn? und welche inhalte
speichsert du? und sind die keys nun indiziert oder named?

Ich möchte mir eine Funktion/Klasse schreiben die möglichst flexibel in Bezug auf die zu verarbeiteneten Arrays ist. Mein Ansatz war, auch um Datendoppelungen zu verhindern, folgender:

Eine Tabelle nur (Werte-)ID und Werte, Eine Tabelle (Index)ID und die Namen des Index, eine Tabelle (Mapping)ID und 2 Spalten in denen die ‚Feldnamen‘ (IndexID) des Array den Werten (WerteID und ) zugeordnet werden und eine Tabelle in der den Datensätzen jeweils ihr übergeordnetes Element zugeordnet wird. Funktioniert soweit ganz gut, aber um das oberste Element eines ‚Datensatzes‘ zu finden muß ich eine Schleife schreiben die mir anhand des jeweils übergeordneten Elementes den ‚Baum‘ nachoben wandert. Das gefällt mir nicht!

Auch beim Schreiben an beliebiger Stelle müßte ich den Baum erst nach unten durchwandern… :frowning:

mfg Slick

ieehh. das klingt nach nem bloeden datenmodell. :smile:

lege jedes array als einzelnes object/array ab, und merke dir die beziehungen.

ansonsten musst du damit leben, dass du den speicher vollhaust, und die datenbank pruegelst…

TNX!
Nichts anderes hatte ich vor… aber irgentwie fehlt mir noch ne Idee das umzusetzen… auf jeden Fall Thanks…

mfg Slick