Subversion Repositories eFlore/Applications.cel

Rev

Rev 1998 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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