Show sqlConnection.php syntax highlighted
<?php
/* =============================================================================
* sqlConnection
* =============================================================================
* Gestionnaire de connexion à une Base de Données SQL
* =============================================================================
*/
class SqlConnection
{
/* -------------------------------------------------------------------------
* connect
* -------------------------------------------------------------------------
* Connection à une Base de Données SQL
* -------------------------------------------------------------------------
* Entrée : rien
* Sortie : rien
* -------------------------------------------------------------------------
*/
function connect() {}
/* -------------------------------------------------------------------------
* disconnect
* -------------------------------------------------------------------------
* Deconnection de la Base de Données SQL
* -------------------------------------------------------------------------
* Entrée : rien
* Sortie : rien
* -------------------------------------------------------------------------
*/
function disconnect() {}
/* -------------------------------------------------------------------------
* query
* -------------------------------------------------------------------------
* Envoi d'une requete SQL
* -------------------------------------------------------------------------
* Entrée : - $query : Requête SQL à envoyer
* Sortie : Retourne TRUE si la requête a réussi, FALSE sinon.
* Met à jour le champ $result
* -------------------------------------------------------------------------
*/
function query($qry) {}
/* -------------------------------------------------------------------------
* querySelect
* -------------------------------------------------------------------------
* Envoi d'une requete SQL de type SELECT
* -------------------------------------------------------------------------
* Entrée : - $from : Nom de la table ou chercher les résultats
* - $what : Tableau contenant les noms des champs à retourner
* - $where : Conditions de la requête (SELECT WHERE [...]) de la
* forme champ = valeur, enregistrées dans un tableau
* associatif.
* - $and : Condition supplémentaire exprimée sous la forme d'une
* chaîne de caractères.
* Cette condition doit être une condition SQL valide
* (doubler les ', etc...)
* Sortie : Retourne TRUE si la requête a réussi, FALSE sinon.
* Met à jour le champ $result
* Requête :
* SELECT $what
* FROM $table
* WHERE champ1 = $where[champ1]
* ...
* AND champN = $where[champN]
* AND $condition
* -------------------------------------------------------------------------
*/
function querySelect($from, $what = array('*'), $where = array(), $and = '')
{
/* Construction d'un tableau de conditions */
foreach(array_keys($where) as $fieldName)
{
$conditions[] = "$fieldName = 'addslashes($where[$fieldName])'";
}
if($and != '')
{
$conditions[] = "($and)";
}
/* Construction de la requête */
$query = "SELECT implode($what,',') FROM 'addslashes($from)'";
if( !empty($conditions) )
{
$query .= ' WHERE '.implode($conditions,' AND ');
}
/* Envoi de la requête */
return $this->query($query);
}
/* -------------------------------------------------------------------------
* querySelectRow
* -------------------------------------------------------------------------
* Envoi d'une requete SQL de type SELECT *
* -------------------------------------------------------------------------
* Entrée : - $from : Nom de la table ou chercher les résultats
* - $where : Conditions de la requête (SELECT WHERE [...]) de la
* forme champ = valeur, enregistrées dans un tableau
* associatif.
* - $and : Condition supplémentaire exprimée sous la forme d'une
* chaîne de caractères.
* Cette condition doit être une condition SQL valide
* (doubler les ', etc...)
* Sortie : Retourne TRUE si la requête a réussi, FALSE sinon.
* Met à jour le champ $result
* Requête :
* SELECT * FROM $table
* WHERE champ1 = $where[champ1]
* ...
* AND champN = $where[champN]
* AND $condition
* -------------------------------------------------------------------------
*/
function querySelectRow($from, $where = array(), $and = '')
{
return $this->querySelect($from, array('*'), $where, $and);
}
/* -------------------------------------------------------------------------
* querySelectMax
* -------------------------------------------------------------------------
* Maximum d'un champ d'une table SQL
* -------------------------------------------------------------------------
* Entrée : - $from : Nom de la table ou chercher les résultats
* - $what : Nom du champ déterminant le maximum
* - $where : Conditions de la requête (cf select)
* - $and : Autres conditions de la requête (cf select)
* Sortie : Retourne le maximum des $what
* -------------------------------------------------------------------------
*/
function querySelectMax($from, $what, $where = array(), $and = '')
{
$this->select($from, "MAX($what)", $where, $and);
$max = $this->fetch();
return $max[$what];
}
/* -------------------------------------------------------------------------
* querySelectCount
* -------------------------------------------------------------------------
* Nombre de lignes du résultat d'une requête SQL
* -------------------------------------------------------------------------
* Entrée : - $from : Nom de la table ou chercher les résultats
* - $where : Conditions de la requête (cf select)
* - $and : Autres conditions de la requête (cf select)
* Sortie : Retourne le nombre de lignes du résultat de la requête
* -------------------------------------------------------------------------
*/
function querySelectCount($from, $where = array(), $and = '')
{
return $this->select($from, "COUNT(*) as NOMBRE", $where, $and);
$count = $this->fetch();
return $count['NOMBRE'];
}
/* -------------------------------------------------------------------------
* queryInsert
* -------------------------------------------------------------------------
* Insertion d'une ligne dans une table SQL
* -------------------------------------------------------------------------
* Entrée : - $into : Nom de la table ou insérer la ligne
* - $values : Tableau associatifs indéxés par les noms des champs
* Sortie : rien
* -------------------------------------------------------------------------
*/
function queryInsert($into, $values)
{
/* Formatage des valeurs des champs (sauf pour les entiers) */
foreach( array_keys($values) as $fieldName )
{
if( is_numeric($values[$fieldName]) )
{
$fields[$fieldName] = '\''.addslashes($values[$fieldName]).'\'';
}
}
/* Construction de la requête */
$query = "
INSERT
INTO addslashes($table)
('".implode( array_keys($fields),"','")."')
VALUES ('".implode($fields,"','")."')";
/* Envoi de la requete */
return $this->query($query);
}
/* -------------------------------------------------------------------------
* resultFetch
* -------------------------------------------------------------------------
* Renvoie la ligne courante du résultat, et positionne le curseur à la
* ligne suivante.
* Renvoie NULL si il n'y a plus de ligne à renvoyer.
* -------------------------------------------------------------------------
* Entrée : rien
* Sortie : Retourne un tableau associatif (indéxé par les noms des champs)
* contenant les valeurs des champs de la ligne courante.
* -------------------------------------------------------------------------
*/
function resultFetch() {}
/* -------------------------------------------------------------------------
* resultTransform
* -------------------------------------------------------------------------
* Transforme le résultat d'une requête SQL en tableau d'objets
* -------------------------------------------------------------------------
* Entrée : $newObject($fields) : Constructeur d'un objet à partir d'un
* tableau associatif indéxé par les noms
* des champs.
* Sortie : Retourne un tableau contenant les objets créés à partir du
* résultat d'une requête SQL
* -------------------------------------------------------------------------
*/
function resultTransform($newObject)
{
$objects = array();
while( $row = $this->resultFetch() )
{
$objects[] = $newObject($row);
}
return $objects;
}
}
?>
See more files for this project here