Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1545 → Rev 1546

/trunk/jrest/services/CoelCollection.php
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.
*/