Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1520 → Rev 1521

/trunk/jrest/services/CoelStructureAPersonne.php
29,18 → 29,21
$info = array();
// Pré traitement des paramêtres
$p = $this->traiterParametresUrl(array('id_structure', 'id_role'), $param);
$p = $this->traiterParametresUrl(array('id_structure', 'id_role', 'id_personne'), $param);
// Construction de la requête
$requete = (($this->distinct) ? 'SELECT DISTINCT ' : 'SELECT ').
' csap.*, '.
(isset($p['id_personne']) ? ' cs_nom, ' : '').
' cp_ce_projet, cp_fmt_nom_complet, cp_prenom, cp_nom, cp_truk_telephone, cp_truk_courriel, cp_ce_truk_specialite '.
'FROM coel_structure_a_personne AS csap '.
' LEFT JOIN coel_meta_historique_ligne ON (csap_ce_meta = cmhl_id_historique_ligne) '.
' LEFT JOIN coel_personne ON (csap_id_personne = cp_id_personne) '.
(isset($p['id_personne']) ? ' LEFT JOIN coel_structure ON (csap_id_structure = cs_id_structure) ' : '').
((count($p) != 0) ? 'WHERE ' : '').
(isset($p['id_structure']) ? "AND csap_id_structure = {$p['id_structure']} " : '').
(isset($p['id_role']) ? "AND csap_id_role = {$p['id_role']} " : '').
(isset($p['id_personne']) ? "AND csap_id_personne = {$p['id_personne']} " : '').
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'csap_ce_meta DESC').' ';
$requete = str_replace('WHERE AND', 'WHERE', $requete);
$requeteCount = $requete;
50,16 → 53,15
// Récupération des résultats
try {
$nbElements = 0;
$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC);
if ($donnees === false) {
$this->messages[] = "La requête a retourné aucun résultat.";
} else {
$nbElements = $this->bdd->query($requeteCount)->rowCount();
}
$nbElements = $this->bdd->query($requeteCount)->rowCount();
$info['nbElements'] = $nbElements;
$info['structuresAPersonne'] = $donnees;
} catch (PDOException $e) {
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage());
}