openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 694b70dc5bc0019e863844b63caab049d971fd04
parent 5894b26ee5bcaa65df62e6eada97b9ab03eca848
Author: dankert <devnull@localhost>
Date:   Tue, 24 Apr 2007 22:56:02 +0200

Erweiterung um Werteliste f?r WHERE IN (...) Bedingungen.

Diffstat:
serviceClasses/Sql.class.php | 44+++++++++++++++++++++++++++++++++++++++++---
1 file changed, 41 insertions(+), 3 deletions(-)

diff --git a/serviceClasses/Sql.class.php b/serviceClasses/Sql.class.php @@ -160,9 +160,11 @@ class Sql // Bereits vorhande Parameter setzen. foreach( $this->data as $name=>$data ) { - if ( $data['type']=='string' ) $this->setString($name,$data['value'] ); - if ( $data['type']=='int' ) $this->setInt ($name,$data['value'] ); - if ( $data['type']=='null' ) $this->setNull ($name ); + if ( $data['type']=='string' ) $this->setString ($name,$data['value'] ); + if ( $data['type']=='stringlist' ) $this->setStringList($name,$data['value'] ); + if ( $data['type']=='int' ) $this->setInt ($name,$data['value'] ); + if ( $data['type']=='intlist' ) $this->setIntList ($name,$data['value'] ); + if ( $data['type']=='null' ) $this->setNull ($name ); } } @@ -256,6 +258,23 @@ class Sql /** + * Setzt eine Ganzzahl-Liste als Parameter.<br> + * + * @param name Name des Parameters + * @param values Inhalte + */ + function setIntList( $name,$values ) + { + $this->data[ $name ] = array( 'type'=>'intlist','value'=>$values ); + + $values = array_map('intval',$values); + $this->setParam($name,implode(',',$values) ); +// $this->query = str_replace( '{'.$name.'}',intval($value),$this->query ); + } + + + + /** * Setzt eine Zeichenkette als Parameter.<br> * * @param name Name des Parameters @@ -278,6 +297,25 @@ class Sql /** + * Setzt eine Zeichenketten-Liste als Parameter.<br> + * + * @param name Name des Parameters + * @param values Inhalte + */ + function setStringList( $name,$values ) + { + $this->data[ $name ] = array( 'type'=>'stringlist','value'=>$values ); + + $values = array_map('addslashes',$values); + + $value = "'".implode("','",$values)."'"; + + $this->setParam($name,$value); + } + + + + /** * Setzt einen bool'schen Wert als Parameter.<br> * Ist der Parameterwert wahr, dann wird eine 1 gesetzt. Sonst 0.<br> *