New file |
0,0 → 1,66 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Contient les requêtes effecturant la migration pour Sauvages. |
* |
* @category CEL |
* @package Scripts |
* @subpackage Migration : Sauvages |
* @author Mathias CHOUET <mathias@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @author Aurelien PERONNET <aurelien@tela-botanica.org> |
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt> |
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt> |
* @copyright 1999-2014 Tela Botanica <accueil@tela-botanica.org> |
*/ |
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%" '. |
' AND mots_cles_texte NOT LIKE "%florileges%" '. |
' -- '.__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%" '. |
' AND mots_cles_texte NOT LIKE "%florileges%" '. |
"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); |
} |
} |