Sympathisant: OOP für Datenbankabfrage

Beitrag lesen

Hai,

mal ein simples Beispiel:

Du kannst dir eine SearchCondition-Klasse erstellen.
Diese besitzt eine Liste von SearchExpressions. Jede SearchExpression besitzt den Namen der Datenbankspalte und den Wert.

Suchkriterien hinzuzufuegen ginge dann wie folgt:

$sc = new SearchCondition;  
$sc->AddExrepssion('name','maruis');  
$sc->AddExrepssion('age',45);  

Eine Retrieve-Methode, zum Auslesen der Daten, kann dann so aussehen:

public function Retrieve($SearchCondition)  
{  
   $sql = "SELECT [..] FROM [..] WHERE ".  
   $sql .= $SearchCondition->Buildcondition();  
   // [..]  
}

Letzterer Aufruf liefert dir dann das entsprechende Where-Statement.

Das Beispiel soll nur veranschaulichen, was fuer Moeglichkeiten es gibt.

Der SearchConditionHandler muesste dann natuerlich noch um diverse Features erweitert werde:

  • Operatoren: Like, Equals, >=, <=, etc..
  • Verknuepfungen: AND, OR
  • Kapselung, also die Moeglicheit mehrere Statement zu kapseln und untereinander zu verknuepfen. Bsp: ( (name='test' AND age=23) OR xy = 'te')
  • Spaltentypen: Integer, varchar, etc..
  • etc.. pp..

MfG,
Sympatisant

--
"If the future isn't bright, at least it is colorful"