142,6 → 142,45 |
return $info; |
} |
|
/* Méthode pour récupérer le nombre de collection en fonction d'un id structure. |
* Appelée avec les paramêtres d'url suivant : |
* /CoelCollection/NbreParIdStructure/_ |
* ou les _ représentent dans l'ordre : id_structure |
* Si un des paramêtres est abscent, il prendre la valeur * |
*/ |
public function getElementNbreParIdStructure($param) { |
// Initialisation des variables |
$info = array(); |
|
// Pré traitement des paramêtres |
$p = $this->traiterParametresUrl(array('id_structure'), $param); |
if (!isset($p['id_structure'])) { |
$this->messages[] = "Il est obligatoire d'indiquer un id de structure pour utiliser ce service."; |
} else { |
// Construction de la requête |
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' COUNT(cc_id_collection) AS nbre '. |
'FROM coel_collection AS c '. |
'WHERE '. |
" c.cc_ce_structure = {$p['id_structure']} ". |
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'c.cc_nom ASC'); |
|
// Récupération des résultats |
try { |
// SPÉCIAL : |
// Lorsqu'on cherche une seule structure avec un id passé en paramêtre, nous devons renvoyer un objet |
$donnees = $this->bdd->query($requete)->fetch(PDO::FETCH_ASSOC); |
if ($donnees === false) { |
$this->messages[] = "La requête a retourné aucun résultat."; |
} else { |
$info = $donnees['nbre']; |
} |
} catch (PDOException $e) { |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()); |
} |
} |
return $info; |
} |
|
/** |
* Méthode appelée pour ajouter un élément. |
*/ |