'; echo '
'; echo '
'; echo '

'; echo '

'; echo '

'; echo '
'; echo '
'; echo '
'; echo '

'; echo '

'; echo '

'; echo ''; echo ''; }elseif($_GET['etape']==1){ //on se connecte aux deux bases et on enregistre les intances try{ $nouvelle_base = new PDO($_POST['bdd_nouvelle_dsn'],$_POST['bdd_nouvelle_user'],$_POST['bdd_nouvelle_mdp']); }catch(Exception $e){ echo 'Erreur de connexion pour la nouvelle base.
Erreur : '.$e->getMessage().'
<< Retour '; } try{ $ancienne_base = new PDO($_POST['bdd_ancienne_dsn'],$_POST['bdd_ancienne_user'],$_POST['bdd_ancienne_mdp']); }catch(Exception $e){ echo 'Erreur de connexion pour l\'ancienne base.
Erreur : '.$e->getMessage().'
<< Retour '; } //on liste les proprietes des deux tables : nouvelle et ancienne $proprietes_nouvelle_table = $nouvelle_base->query('SELECT COLUMN_NAME FROM information_schema.columns WHERE table_name = \''.$_POST['bdd_nouvelle_table'].'\''); $proprietes_ancienne_table = $ancienne_base->query('SELECT * FROM '.$_POST['bdd_ancienne_table'])->fetch(PDO::FETCH_ASSOC); //on génére le menu déroulant dont les options sont les proprietes de l'ancienne table $select = ''; //on génére le formulaire qui va permettre d'associer les anciennes proprietes avec les nouvelles echo '
'; echo ''; foreach($proprietes_nouvelle_table AS $propriete){ echo ''; } echo '
'.$propriete['COLUMN_NAME'].' <= '.$select.' ou valeur par défaut
'; echo ''; echo ''; echo '
'; }elseif($_GET['etape']==2){ //on récupére les paramètres de connexions serializés $params = unserialize(str_replace('||||','"',$_POST['parametres_connexion'])); //on se connecte aux deux bases et on enregistre les intances try{ $nouvelle_base = new PDO($params['bdd_nouvelle_dsn'],$params['bdd_nouvelle_user'],$params['bdd_nouvelle_mdp']); }catch(Exception $e){ echo 'Erreur de connexion pour la nouvelle base.
Erreur : '.$e->getMessage().'
<< Retour '; } try{ $ancienne_base = new PDO($params['bdd_ancienne_dsn'],$params['bdd_ancienne_user'],$params['bdd_ancienne_mdp']); }catch(Exception $e){ echo 'Erreur de connexion pour l\'ancienne base.
Erreur : '.$e->getMessage().'
<< Retour '; } //on selectionne les enregistrements de l'anienne table $req = $ancienne_base->query('SELECT * FROM '.$params['bdd_ancienne_table']); $cpt = 0; //Et on insère chaque occurrence dans la nouivelle table foreach($req AS $ligne){ $cpt++; $requete = 'INSERT INTO '.$params['bdd_nouvelle_table'].' VALUES ('; foreach($_POST['proprietes'] AS $cle=>$propriete){ if(!empty($propriete)) $valeur = $ligne[$propriete]; else $valeur = $_POST['defaut'][$cle]; $requete .= "'".str_replace("'","\'",$valeur)."' ,"; } $requete = substr($requete,0,-2).');'; if($nouvelle_base->exec($requete)){ echo 'Enregistrement '.$cpt.' : OK
'; }else{ echo 'Enregistrement '.$cpt.' : Erreur
'; } } echo ' << Retour'; } ?>