Subversion Repositories eFlore/Applications.cel

Rev

Rev 1518 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1518 Rev 1520
Line 1... Line 1...
1
<?php
1
<?php
2
class Dao extends Bdd {
2
class Dao extends Bdd {
-
 
3
	
-
 
4
	private $temps_derniere_requete = 0;
-
 
5
	
3
	public function rechercherCoordonnees() {
6
	public function rechercherCoordonnees() {
4
		$requete = "SELECT longitude, latitude
7
		$requete = "SELECT longitude, latitude
5
					FROM `cel_obs`
8
					FROM `cel_obs`
6
					GROUP BY `longitude` , `latitude`";
9
					GROUP BY `longitude` , `latitude`";
7
		$resultat = $this->recupererTous($requete);
10
		$resultat = $this->recupererTous($requete);
-
 
11
		$this->reinitialiserTempsDerniereRequete();
8
		return $resultat;
12
		return $resultat;
9
	}
13
	}
Line 10... Line 14...
10
	
14
	
11
	public function rechercherCoordonneesSansCorrespondances() {
15
	public function rechercherCoordonneesSansCorrespondances() {
12
		$requete = "SELECT longitude, latitude
16
		$requete = "SELECT longitude, latitude
13
						FROM `cel_obs`
17
						FROM `cel_obs`
14
						WHERE code_insee_calcule = '' AND latitude LIKE '43.3%' AND longitude LIKE '3.25%' 
18
						WHERE code_insee_calcule = '' 
15
						GROUP BY `longitude` , `latitude`";
19
						GROUP BY `longitude` , `latitude`";
-
 
20
		$resultat = $this->recupererTous($requete);
16
		$resultat = $this->recupererTous($requete);
21
		$this->reinitialiserTempsDerniereRequete();
17
		return $resultat;
22
		return $resultat;
Line 18... Line 23...
18
	}
23
	}
19
	
24
	
20
	public function creerColonneCodeInseeCalculee() {
25
	public function creerColonneCodeInseeCalculee() {
-
 
26
		$create = "ALTER TABLE `cel_obs` ADD `code_insee_calcule` VARCHAR( 5 ) NOT NULL";
21
		$create = "ALTER TABLE `cel_obs` ADD `code_insee_calcule` VARCHAR( 5 ) NOT NULL";
27
		$this->requeter($create);
Line 22... Line 28...
22
		$this->requeter($create);
28
		$this->reinitialiserTempsDerniereRequete();
23
	}
29
	}
24
	
30
	
25
	public function ajouterCodeInseeCalculee($latitude, $longitude, $code_insee) {
31
	public function ajouterCodeInseeCalculee($latitude, $longitude, $code_insee) {
-
 
32
		$insert = "UPDATE `cel_obs` SET `code_insee_calcule` = '$code_insee' ".
26
		$insert = "UPDATE `cel_obs` SET `code_insee_calcule` = '$code_insee' ".
33
					"WHERE latitude = $latitude AND longitude = $longitude";
Line 27... Line 34...
27
					"WHERE latitude = $latitude AND longitude = $longitude";
34
		$this->requeter($insert);
28
		$this->requeter($insert);
35
		$this->reinitialiserTempsDerniereRequete();
29
	}
36
	}
30
	
37
	
-
 
38
	public function modifierCodeInsee() {
-
 
39
		$update = "UPDATE `cel_obs` SET `ce_zone_geo` = concat('INSEE-C:' , `code_insee_calcule`) ".
-
 
40
						"WHERE  ce_zone_geo = '' ";
-
 
41
		$this->requeter($update);
-
 
42
		$this->reinitialiserTempsDerniereRequete();
-
 
43
	}
-
 
44
	
-
 
45
	// Il peut se passer assez de temps sans qu'aucune requete ne soit effectuée
-
 
46
	// (cas d'un grand nombre d'enregistrements à la suite pour lesquels on ne trouve
-
 
47
	// aucun département). Pour éviter cela on teste régulièrement la connection
-
 
48
	public function testerActiviteConnection() {
-
 
49
		$temps_courant = microtime(true);
-
 
50
		$temps_depuis_derniere_requete = $temps_courant - $this->temps_derniere_requete;
-
 
51
		if($temps_depuis_derniere_requete >= 18) {
-
 
52
			$this->ping();
-
 
53
			$this->reinitialiserTempsDerniereRequete();
-
 
54
		}
31
	public function modifierCodeInsee() {
55
	}
32
		$update = "UPDATE `cel_obs` SET `ce_zone_geo` = concat('INSEE-C:' , `code_insee_calcule`) ".
56
	
33
						"WHERE  ce_zone_geo = '' ";
57
	private function reinitialiserTempsDerniereRequete() {
34
		$this->requeter($update);
58
		$this->temps_derniere_requete = microtime(true);