Liste de tables contenant des champs * * @return sql Renvoie la clause remplie * */ public static function SELECT($tables){ /* [0] Initialisation =========================================================*/ $sql = 'SELECT '; /* [1] On construit la requête =========================================================*/ $c = 0; foreach($tables as $table=>$fields) foreach($fields as $field){ if( $c > 0 ) $sql .= ', '; $sql .= $table.'.'.$field; $c++; } return $sql; } /* CONSTRUIT LA REQUETE TEXTUELLE "FROM" AVEC UNE LISTE DE TABLES * * @tables Liste de tables * * @return sql Renvoie la clause remplie * */ public static function FROM($tables){ /* [0] Initialisation =========================================================*/ $sql = 'FROM '; /* [1] On construit la requête =========================================================*/ $c = 0; foreach($tables as $table){ if( $c > 0 ) $sql .= ', '; $sql .= $table; $c++; } return $sql; } /* CONSTRUIT LA REQUETE TEXTUELLE "IN" AVEC UNE LISTE DE TABLES * * @field Tableau contenant [table, field] * @array Valeurs de la clause IN * @offset Permet de rendre la condition unique (nommage des variables) * @binded Tableau associatif contenant les variables "bindés" -> ajout des champs * * @return sql Renvoie la clause remplie * */ public static function IN($field, $array, $offset=0, &$binded){ /* [0] Initialisation =========================================================*/ $sql = ( $offset == 0 ) ? 'WHERE ' : 'AND '; /* [1] On construit la requête =========================================================*/ /* (1) Champ */ $sql .= $field[0].'.'.$field[1].' IN ('; /* (2) Valeurs */ $c = 0; foreach($array as $i=>$value){ if( $c > 0 ) $sql .= ', '; $sql .= ':'.$field[0].'_x_'.$field[1].'_'.$offset.'_'.$i; $binded[':'.$field[0].'_x_'.$field[1].'_'.$offset.'_'.$i] = $value; $c++; } return $sql.")"; } /* CONSTRUIT LA REQUETE TEXTUELLE "WHERE" AVEC UNE LISTE DE TABLES * * @field Tableau contenant [table, field] * @valeur Valeurs de la clause WHERE [valeur, opérateur] * @offset Permet de rendre la condition unique (nommage des variables) * @binded Tableau associatif contenant les variables "bindés" -> ajout des champs * * @return sql Renvoie la clause remplie * */ public static function WHERE($field, $value, $offset=0, &$binded){ /* [0] Initialisation =========================================================*/ $sql = ( $offset == 0 ) ? 'WHERE ' : 'AND '; /* [1] On construit la requête =========================================================*/ /* (1) Chamo */ $sql .= $field[0].'.'.$field[1].' '; /* (2) Opérateur */ $sql .= substr($value[1], 2, -2).' '; /* (3) Variable */ $sql .= ':'.$field[0].'_x_'.$field[1].'_'.$offset; $binded[':'.$field[0].'_x_'.$field[1].'_'.$offset] = $value[0]; return $sql; } } ?>