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()); |
} |