Subversion Repositories eFlore/Applications.coel

Rev

Rev 1520 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1520 Rev 1521
Line 27... Line 27...
27
	public function getElement($param = array()) {
27
	public function getElement($param = array()) {
28
		// Initialisation des variables
28
		// Initialisation des variables
29
		$info = array();
29
		$info = array();
Line 30... Line 30...
30
		
30
		
31
		// Pré traitement des paramêtres
31
		// Pré traitement des paramêtres
Line 32... Line 32...
32
		$p = $this->traiterParametresUrl(array('id_structure', 'id_role'), $param);
32
		$p = $this->traiterParametresUrl(array('id_structure', 'id_role', 'id_personne'), $param);
33
		
33
		
34
		// Construction de la requête
34
		// Construction de la requête
-
 
35
		$requete = 	(($this->distinct) ? 'SELECT DISTINCT ' : 'SELECT ').
35
		$requete = 	(($this->distinct) ? 'SELECT DISTINCT ' : 'SELECT ').
36
					'	csap.*, '.
36
					'	csap.*, '.
37
					(isset($p['id_personne'])	? '	cs_nom, ' : '').
37
					'	cp_ce_projet, cp_fmt_nom_complet, cp_prenom, cp_nom, cp_truk_telephone, cp_truk_courriel, cp_ce_truk_specialite '.
38
					'	cp_ce_projet, cp_fmt_nom_complet, cp_prenom, cp_nom, cp_truk_telephone, cp_truk_courriel, cp_ce_truk_specialite '.
38
					'FROM coel_structure_a_personne AS csap '.
39
					'FROM coel_structure_a_personne AS csap '.
-
 
40
					'	LEFT JOIN coel_meta_historique_ligne ON (csap_ce_meta = cmhl_id_historique_ligne) '.
39
					'	LEFT JOIN coel_meta_historique_ligne ON (csap_ce_meta = cmhl_id_historique_ligne) '.
41
					'	LEFT JOIN coel_personne ON (csap_id_personne = cp_id_personne) '.
40
					'	LEFT JOIN coel_personne ON (csap_id_personne = cp_id_personne) '.
42
					(isset($p['id_personne'])	? '	LEFT JOIN coel_structure ON (csap_id_structure = cs_id_structure) ' : '').
41
					((count($p) != 0) ? 'WHERE ' : '').
43
					((count($p) != 0) ? 'WHERE ' : '').
-
 
44
					(isset($p['id_structure']) 	? "AND csap_id_structure = {$p['id_structure']} " : '').			
42
					(isset($p['id_structure']) 	? "AND csap_id_structure = {$p['id_structure']} " : '').			
45
					(isset($p['id_role']) 		? "AND csap_id_role = {$p['id_role']} " : '').
43
					(isset($p['id_role']) 		? "AND csap_id_role = {$p['id_role']} " : '').
46
					(isset($p['id_personne'])	? "AND csap_id_personne = {$p['id_personne']} " : '').
44
					'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'csap_ce_meta DESC').' ';
47
					'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'csap_ce_meta DESC').' ';
45
		$requete = str_replace('WHERE AND', 'WHERE', $requete);
48
		$requete = str_replace('WHERE AND', 'WHERE', $requete);
Line 46... Line 49...
46
		$requeteCount = $requete;
49
		$requeteCount = $requete;
Line 47... Line 50...
47
		$requete .= "LIMIT $this->start, $this->limit ";
50
		$requete .= "LIMIT $this->start, $this->limit ";
48
		
51
		
-
 
52
		$this->debug[] = $requete;
49
		$this->debug[] = $requete;
53
		
50
		
54
		// Récupération des résultats
51
		// Récupération des résultats
55
		try {
-
 
56
			$nbElements = 0;
-
 
57
			$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC);
52
		try {
58
			if ($donnees === false) {
53
			$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC);
-
 
54
			if ($donnees === false) {
-
 
55
				$this->messages[] = "La requête a retourné aucun résultat.";
-
 
56
			}
59
				$this->messages[] = "La requête a retourné aucun résultat.";
57
			
60
			} else {
58
			$nbElements = $this->bdd->query($requeteCount)->rowCount();
-
 
59
			
61
				$nbElements = $this->bdd->query($requeteCount)->rowCount();
60
			$info['nbElements'] = $nbElements;
62
			}
61
			$info['structuresAPersonne'] = $donnees;
63
			$info['nbElements'] = $nbElements;
Line 62... Line 64...
62
			
64
			$info['structuresAPersonne'] = $donnees;