Subversion Repositories eFlore/Applications.cel

Rev

Rev 1997 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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