Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2013 → Rev 2014

/branches/v1.8-debroussailleuse/scripts/modules/migration_sauvages/bibliotheque/Dao.php
New file
0,0 → 1,51
<?php
class Dao extends Bdd {
 
public function obtenirNbObservationsSauvages() {
$requete = 'SELECT COUNT(*) AS nb '.
'FROM cel_obs '.
'WHERE mots_cles_texte LIKE "%sauvages%" '.
' AND mots_cles_texte LIKE "%Projets coopératifs%" '.
' -- '.__FILE__.' '.__LINE__;
 
$resultat = $this->recuperer($requete);
return $resultat['nb'];
}
 
public function obtenirObservationsSauvages($debut, $limite) {
$requete = 'SELECT * '.
'FROM cel_obs '.
'WHERE mots_cles_texte LIKE "%sauvages%" '.
' AND mots_cles_texte LIKE "%Projets coopératifs%" '.
"LIMIT $debut, $limite ".
' -- '.__FILE__.' '.__LINE__;
 
$resultat = $this->recupererTous($requete);
return $resultat;
}
 
public function ajouterChampsEtendusParLots($obs_a_champs_etendus) {
$lignes = array();
 
foreach ($obs_a_champs_etendus as $champs_etendus_obs) {
foreach ($champs_etendus_obs as $champ_etendu) {
$id = $this->proteger($champ_etendu['id_observation']);
$cle = $this->proteger($champ_etendu['cle']);
$label = $this->proteger($champ_etendu['label']);
$valeur = $this->proteger($champ_etendu['valeur']);
$lignes[] = "($id, $cle, $label, $valeur)";
}
}
 
$requete = "INSERT INTO cel_obs_etendues (id_observation, cle, label, valeur) ".
'VALUES '.implode(',', $lignes).' '.
'ON DUPLICATE KEY UPDATE valeur = VALUES(valeur) '.
'-- '.__FILE__.' '.__LINE__;
 
// la partie on duplicate key est spécifique mysql mais il sera facile de s'en passer le jour
// où l'on change de sgbd
$ajout = $this->requeter($requete);
return ($ajout !== false);
}
}
?>