Subversion Repositories eFlore/Applications.cel

Rev

Rev 1998 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1996 aurelien 1
<?php
2
class Dao extends Bdd {
2014 jpm 3
 
1998 aurelien 4
	public function obtenirNbObservationsSauvages() {
2014 jpm 5
		$requete = 'SELECT COUNT(*) AS nb '.
6
			'FROM cel_obs '.
7
			'WHERE mots_cles_texte LIKE "%sauvages%" '.
8
			'	AND mots_cles_texte LIKE "%Projets coopératifs%" '.
9
			' -- '.__FILE__.' '.__LINE__;
10
 
1998 aurelien 11
		$resultat = $this->recuperer($requete);
12
		return $resultat['nb'];
13
	}
2014 jpm 14
 
1998 aurelien 15
	public function obtenirObservationsSauvages($debut, $limite) {
2014 jpm 16
		$requete = 'SELECT * '.
17
			'FROM cel_obs '.
18
			'WHERE mots_cles_texte LIKE "%sauvages%" '.
19
			'	AND mots_cles_texte LIKE "%Projets coopératifs%" '.
20
			"LIMIT $debut, $limite ".
21
			' -- '.__FILE__.' '.__LINE__;
1996 aurelien 22
 
23
		$resultat = $this->recupererTous($requete);
24
		return $resultat;
25
	}
2014 jpm 26
 
1996 aurelien 27
	public function ajouterChampsEtendusParLots($obs_a_champs_etendus) {
28
		$lignes = array();
2014 jpm 29
 
1996 aurelien 30
		foreach ($obs_a_champs_etendus as $champs_etendus_obs) {
31
			foreach ($champs_etendus_obs as $champ_etendu) {
32
				$id = $this->proteger($champ_etendu['id_observation']);
33
				$cle = $this->proteger($champ_etendu['cle']);
34
				$label = $this->proteger($champ_etendu['label']);
2014 jpm 35
				$valeur = $this->proteger($champ_etendu['valeur']);
1996 aurelien 36
				$lignes[] = "($id, $cle, $label, $valeur)";
37
			}
38
		}
2014 jpm 39
 
1996 aurelien 40
		$requete = "INSERT INTO cel_obs_etendues (id_observation, cle, label, valeur) ".
2014 jpm 41
			'VALUES '.implode(',', $lignes).' '.
42
			'ON DUPLICATE KEY UPDATE valeur = VALUES(valeur) '.
43
			'-- '.__FILE__.' '.__LINE__;
44
 
1996 aurelien 45
		// la partie on duplicate key est spécifique mysql mais il sera facile de s'en passer le jour
46
		// où l'on change de sgbd
47
		$ajout = $this->requeter($requete);
48
		return ($ajout !== false);
49
	}
50
}
51
?>