Copie de la contenu de base mysql dans une au

Fermé
Sonia - 12 déc. 2006 à 11:06
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 12 déc. 2006 à 11:38
Bonjour
je suis entrain de developper un site web le front office et le back office le front office appele la base de donnnées X contient 10 tables contenant des insertions le back office appele la base Y ayant la meme structure de tables que X mais vides je veux faire le traitement suivant : dans le back office il ya un bouton update quan je clique sur ce bouton je doit copier le contenu de base X dans Y
Merci me contactez SVP s'il ya des problèmes dans mon explication.

1 réponse

kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
12 déc. 2006 à 11:38
Simple, tu fais un script PHP par exemple, qui est appelé lorsque tu clique sur le fameux boutonn "update".

Ce script va se connecter à ta base X pour récupérer les données (une requete pour chaque table) et les updater dans ta base Y (une requete par table récupérée.

Exemple avec une seule table dans chaque base :
$conn_X = msql_connect(...);  // connexion à ta base mysql
$conn_X = mysql_select(...); //selection de la base X pour la premiere connexion
$conn_Y = mysql_connect(...); // connexion à ta base mysql
$conn_X = mysql_select(...); //selection de la base Y pour la premiere connexion

$res = mysql_query("SELECT * FROM table1",$conn_X);
while ( $line = mysql_fetch_array($res) ){
  // --- Mise à jour dans la deuxième base
  mysql_query("INSERT INTO table1 (id,libelle,prix) VALUES ('".$line[0]."','".$line[1]."','".$line[2]."')",$conn_Y);
}


En ayant bien sur dans cette table1 les 3 champs 'id', 'libelle'et 'prix'.

Voilà, c'est une piste, à toi d'adapter pour chacune de tes tables de tes bases de données.

Sinon je crois qu'il est possible de récupérer les données d'une base d'un seul coup sous fichier texte, mais pas en php mais sous prompt shell. Donc au lieu de tous cela dans ton script php, tu pourrais simplement avoir l'appel d'un programme bash externe qui lui s'occupe de faire un backup de ta base X, puis de pousser ce backup dans ta base Y. C'est une solution bien plus propre, mais moins facile à mettre en place.
0