Blame | Last modification | View Log | RSS feed
<?phpclass FloreDao extends Bdd {public function integrerFlore($flore, $nom_flore){$flore = array_map(array($this, 'proteger'), $flore);$requete = "INSERT INTO sophy_{$nom_flore} VALUES ";$i = 0; $j = 1000; $info = '';foreach ($flore as $num => $nom) {if ($i < $j) {$requete .= " ({$num}, {$nom}), ";} else {$requete = substr($requete,0,-2).";";$resultat = $this->requeter($requete);if ($resultat === false) {$info .= $nom_flore.$j." n'est pas intégrée.\n";} else {$info .= $nom_flore.$j." est intégrée.\n";}$j += 1000;$requete = "INSERT INTO sophy_{$nom_flore} VALUES ({$num}, {$nom}), ";}$i++;}$requete = substr($requete,0,-2).";";$resultat = $this->requeter($requete);if ($resultat === false) {$info .= $nom_flore.$i." n'est pas intégrée.\n";//echo $requete."\n";} else {$info .= $nom_flore.$i." est intégrée.\n";}return $info;}public function chargerDonnees($fichier, $table) {$requete = "LOAD DATA INFILE '$fichier' "."REPLACE INTO TABLE $table "."CHARACTER SET utf8 "."FIELDSTERMINATED BY ','";$this->requeter($requete);}public function ajouterColonnes($donnees, $table) {$this->preparerTable($table, 'sb_num_nom_retenu');$this->preparerTable($table, 'sb_num_tax');$this->lancerRequeteModification($table, $donnees);}private function preparerTable($table, $colonne) {$requete = "SHOW COLUMNS FROM {$table} LIKE '{$colonne}' ";$resultat = $this->recuperer($requete);if ($resultat === false) {$requete = "ALTER TABLE {$table} "."ADD {$colonne} INT(5) ";$this->requeter($requete);}}private function lancerRequeteModification($table, $flore) {foreach ($flore as $num_nom => $info) {$requete = "UPDATE {$table} "."SET sb_num_nom_retenu = {$info['num_nom_retenu']} ".", sb_num_tax = {$info['num_tax']} "."WHERE sb_id_num_bdnff = $num_nom ";//echo $requete."\n";$res = $this->requeter($requete);if ($res === false) {$this->traiterErreur("erreur d'insertion pour le tuple %s", array($id));}}}}?>