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é |
*/ |