Requete BDD complete dans fichier texte

Résolu/Fermé
DoulyCreations Messages postés 187 Date d'inscription lundi 11 avril 2011 Statut Membre Dernière intervention 23 mars 2015 - 13 déc. 2011 à 15:11
DoulyCreations Messages postés 187 Date d'inscription lundi 11 avril 2011 Statut Membre Dernière intervention 23 mars 2015 - 16 déc. 2011 à 12:57
Bonjour,


Je viens à vous pour un problème assez original.
Je souhaiterais faire une copie de BDD d'un site intranet vers un site internet en faisant juste un clic.

J'ai utilisé de multiples méthodes mais il y a toujours eu des problèmes.

Aujourd'hui je recherche un script qui permettrais de faire une requête complète de ma BDD (comme sur phpmyadmin). Je m'explique:
Le script serait précédé d'un DELETE de la table sur le site internet et serait suivi de tout les INSERT INTO de la BDD du site intranet de la table sélectionnée.
Et ceci pour chaque tables désirées.

En gros le fichier créé ressemblerais à ceci :
DELETE FROM actualites;
INSERT INTO actualites (contenu) VALUES ("contenu de l'actualite");
INSERT INTO actualites (contenu) VALUES ("contenu bis");
...


Je ne sais pas comment m'y prendre...

Si quelqu'un a un tuyau je suis preneur.


Cordialement



A voir également:

6 réponses

DoulyCreations Messages postés 187 Date d'inscription lundi 11 avril 2011 Statut Membre Dernière intervention 23 mars 2015 19
15 déc. 2011 à 09:37
UP plz
0
maka54 Messages postés 699 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 4 décembre 2016 80
15 déc. 2011 à 09:46
pourquoi ne pas utiliser directement le fichier export de phpmyadmin ?
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
15 déc. 2011 à 10:13
si tu n'as qu'une seule fois a le faire, pourquoi comme dis maka54 ne pas utiliser l'export / import de phpmyadmin

si tu fait selon le principe que tu dis:

DELETE FROM actualites;
INSERT INTO actualites (contenu) VALUES ("contenu de l'actualite");
INSERT INTO actualites (contenu) VALUES ("contenu bis");


après le DELETE tu n'as plus rien donc difficile d'insérer

avec un script php tu peux faire

lecture de la bBDD internet (SELECT ....)

puis par une boucle while, ligne par ligne tu insère dans la BDD intranet

(INSERT...)

puis si l'opération d'insertion s'est bien passée

tu DELETE

0
DoulyCreations Messages postés 187 Date d'inscription lundi 11 avril 2011 Statut Membre Dernière intervention 23 mars 2015 19
15 déc. 2011 à 10:34
Bonjour,

Effectivement dans mon explication j'ai mal interprété ma requête:

TRUNCATE actualites;
INSERT INTO actualites (contenu) VALUES ("contenu de l'actualite");
......

Mon but concret est qu'en appuyant sur un simple bouton il y a une mise à jour d'une base de données externe qui se met à jour grâce aux données d'un site intranet.

On a en fait 2 sites internet: 1 en local et 1 sur internet.
Afin de mieu visualiser les mises à jour, le site internet est modifié localement.
Une fois que les pages ont été validées par tout le monde, à l'aide d'un simple clic le site internet sera identique à celui en interne.

C'est pour cela que je souhaiterais limiter le nombre de problèmes avec un vidage des tables externes et d'insertions des tables vidées avec les données des tables en interne.

Cette manipulation évite de devoir aller sur phpmyadmin en local, de devoir sélectionner chaque table à exporter, d'enregistrer le fichier .sql sur l'ordinateur, de devoir se connecter sur phpmyadmin sur internet et d'importer le fichier .sql créé précédemment.

Toutes cette manip serait réglé en un seul clic.


A ce jour tout fonctionne correctement mais à l'aide de toutes les requêtes effectuées depuis la dernière mise à jour.
Le fichier de Mise à jour est donc remplie de INSERT, UPDATE, UPDATE, INSERT, DELETE, .......
La mise à jour est trop trop longue de cette manière et pas très propre...


Merci de m'avoir lu :)
Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
15 déc. 2011 à 13:14
Alors vas voir cet exemple:

http://pmol.fr/programmation/web/synchroniser-deux-bases-de-donnees-mysql-avec-php/
0
DoulyCreations Messages postés 187 Date d'inscription lundi 11 avril 2011 Statut Membre Dernière intervention 23 mars 2015 19
16 déc. 2011 à 12:57
Merci Alain_42, l'article est effectivement très intéressant à la seule différence qu'il faudrait un fichier texte pour chaque table de la BDD.

Par contre effectivement ça peut avancer vers la solution finale qui serait de réécrire à la suite du fichier pour chaque table afin d'exporter un seul fichier par FTP.

Mais je pense que je vais opter pour la solution que tu m'as envoyée, ça ne fera qu'une vingtaine d'envoi et les tables ne sont pas relationnelles donc ça me convient.

Merci bien cher compatriote :)
0