Webstatt.org - Community seit 2006 - 2012 (2024?)

diverse Datenbanken im CMS ermöglichen

Avatar user-168
15.06.2008 21:00

Hallo.

Ich schreibe derzeit ein CMS und möchte die Nutzung verschiedener Datenbanktypen ermöglichen. Mein erster Ansatz war, dass ich die Queries generieren lasse und anfänglich einfach das entsprechende Objekt generiere.

ABER leider ist das generieren komplexer WHERE-Klauseln ein Problem für mich. Vielleicht fehlt mir da aber auch einfach der richtige Trick. Nun habe ich mir angeschaut, wie das phpBB3 dies regelt und musste feststellen, dass das Board scheinbar direkt die Queries geliefert bekommt.

Wie kann soetwas angehen? Wie löst man soetwas am besten? Ich suche keinen fertigen Code, da ich das selbst schreiben möchte. Deswegen helfen mir auch keine fertigen DB Klassen, da habe ich schon zwei viel zu komplexe von vorgeschlagen bekommen...

Kann mir einer in der Theorie erklären, wie man sowas realisieren kann?

Danke
Dustwolf

Dustwolf ------------------------- Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein. F. Nietzsche
user-303
15.06.2008 21:16

Wo genau liegt denn dein Problem?
Also wo kommst du nicht weiter?

Avatar user-168
15.06.2008 21:55

Als das Generieren der Queries ist noch relativ simpel, wenn man sowas machen möchte wie:

SELECT * FROM tabelle WHERE a = 1

Aber wie würde ich beispielsweise eine komplexe WHERE-Klausel realisieren, zB:

SELECT * FROM tabelle WHERE ((a = 1) OR (b = 2)) AND (c = 3))

Da will mir einfach keine geeignete Form der Übergabe an das Objekt einfallen. Zumal es ideal wäre, wenn ich eine Methode hätte, wo ich das komplette Query definieren kann und er aus der einen Methode dann das fertige Query formuliert.
Alternativ könnte man natürlich Felder, Tabellenname, WHERE-Klausel etc. durch einzelne Methoden regeln. Das wäre aber eher wieder weniger schön und länglich...

Dustwolf ------------------------- Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein. F. Nietzsche
Avatar user-300
06.11.2008 14:12

Du könntest die Abfrage in XML speichern.