Subversion Repositories eFlore/Applications.cel

Rev

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