Subversion Repositories Applications.gtt

Compare Revisions

Ignore whitespace Rev 74 → Rev 75

/trunk/bibliotheque/metier/aGttSql.class.php
97,6 → 97,49
}
 
/**
* Consulter un ou plusieurs enregistrements dans la base de données.
* Chaque requête comportant des paramêtre doivent les inclures sous la forme "#0" pour le paramêtre 0,
* puis "#1" pour le paramêtre 1 et ainsi de suite.
* Exemple : SELECT * FROM gestion_projet WHERE gp_id_projet = #0
* ou SELECT * FROM gestion_projet WHERE gp_nom_projet = "#0"
* @return mixed false, un objet, un tableau d'objet ou rien et instancie l'objet courant.
*/
public function consulter($requete, $parametres = null, $instancier = false)
{
// Formatage de la requête avec les paramêtres s'il y en a
if (!is_null($parametres)) {
if (!is_array($parametres)) {
$parametres = array('#0' => $parametres);
} else {
// Ajout d'un # devant chaque clé numérique
if (count($parametres) > 0) {
foreach ($parametres as $c => $v) {
$parametres['#'.$c] = $v;
}
}
}
// Remplacement dans la requete par les valeurs des paramêtres
$requete = strtr($requete, $parametres);
}
$resultat = $GLOBALS['db']->query($requete);
(DB::isError($resultat)) ? trigger_error(GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete), E_USER_ERROR) : '' ;
$tab_resultat = array();
while ($donnees =& $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$tab_resultat[] = $this->basculerEnregistrementObjet($donnees, $instancier);
}
 
$resultat_nbre = count($tab_resultat);
if ($resultat_nbre > 1) {
return $tab_resultat;
} else if ($resultat_nbre == 1) {
return $tab_resultat[0];
} else if ($resultat_nbre == 0) {
return false;
}
}
 
/**
* Ajouter un enregistrement dans la base de données.
* @return true si ok, false si aucun enregistrement effectué
*/