Rev 30 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/*** Service fournissant des données de la table contenant le référentiel de travail.* Encodage en entrée : utf8* Encodage en sortie : utf8** @category Php 5.2* @package Referentiel* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>* @copyright 2010 Tela-Botanica* @version $Id$*/class Referentiel extends Ref {/*** Méthode principale appelée avec une requête de type GET.*/public function getElement($param = array()) {// Initialisation des variables$info = array();// Nour recherchons le type de requête demandé$p = $this->traiterParametresUrl(array('type', 'projet'), $param, false);$type = $p['type'];$projet = $p['projet'];if (!is_null($type)) {if (!is_null($projet)) {$methode = 'getElement'.$type;if (method_exists($this, $methode)) {//array_shift($param);$info = $this->$methode($projet);} else {$this->messages[] = "Le type d'information demandé '$type' n'est pas disponible.";}} else {$this->messages[] = "Veuillez préciser le nom de code du projet comme premier paramêtre (ex. : bdnff).";}} else {$this->messages[] = "Veuillez préciser le type de requête.";}// Envoie sur la sortie standard$this->envoyer($info);}/* Méthode pour récupérer les noms d'un référentiel.* Appelée avec les paramêtres d'url suivant :* /RefReferentiel/tout/code_du_referentiel*/public function getElementTout($projet) {$requete = ($this->distinct ? 'SELECT DISTINCT' : 'SELECT').' * '."FROM `$projet` ".'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'num_nom ASC').' ';//"LIMIT $this->start, $this->limit ";// Récupération des résultatstry {$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC);if ($donnees === false) {$this->messages[] = "La requête a retourné aucun résultat.";}} catch (PDOException $e) {$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage());}return $donnees;}/* Méthode pour récupérer le nombre de noms présents dans un référentiel.* Appelée avec les paramêtres d'url suivant :* /RefReferentiel/nombre/code_du_referentiel*/public function getElementNombre($projet) {$requete = 'SELECT COUNT(*) AS nbre '."FROM `$projet` ";// Récupération des résultatstry {$nbre = $this->bdd->query($requete)->fetchColumn();if ($nbre === false) {$this->messages[] = "La requête a retourné aucun résultat.";}} catch (PDOException $e) {$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage());}return $nbre;}}?>