> Tous les forumsForum des Webmasters

 Tranférer les données d'une base.
Statut du sujet : NON RESOLU Imprimer
 josé99
  Posté le 28/09/2007 @ 17:22  
 Petit astucien

323 Messages
Bonjour,

j'ai installé un script PHP pour une FAQ il y a quelques années , petit a petit ma base de données a été alimenté.

Je souhaite maintenant passer a une autre interface plus évoluée et je souhaite donc récupérer les données de ma base existante . J'ai récuperer ma base sous forme de fichier.sql.

Ma question est la suivante :
Comment dois je procéder pour insérer les données de ma base existante pour que les données soient utilisables avec ma nouvelle interface (script php du style CMS)?

Petite présicion, les tables de mon nouveau script ne sont pas les mêmes que mon ancien script.

Merci beaucoup.
 Afficher le profil de josé99Envoyer un message privé à josé99
 
 
Publicité
 Pomp  Posté le 28/09/2007 à 18:05  
Petit astucien

504 Messages
ben tu modifie ton script sql ou alors tu l'exécute tel quel et après tu fais une migration par script sql
Afficher le profil de PompEnvoyer un message privé à Pomp
 Revenir en haut de la page
 Dreamer  Posté le 28/09/2007 à 18:23  
Astucien


3957 Messages

Salut

  1. Petite présicion, les tables de mon nouveau script ne sont pas les mêmes que mon ancien script.

Est-ce seulement le nom ou le suffixe des tables qui a changé ou le nom des champs ?

A +

Afficher le profil de Dreamer Voir la configuration de DreamerEnvoyer un message privé à Dreamer
 Revenir en haut de la page
 josé99  Posté le 01/10/2007 à 07:46  
Petit astucien

323 Messages

Merci

Dreamer c'est le nom des tables et les noms des champs qui changent. Pour ce qui est du suffixe, je ne vois pas ce que c'est.

Pomp je ne vois pas ce que tu entends par :

ben tu modifie ton script sql ou alors tu l'exécute tel quel et après tu fais une migration par script s

Afficher le profil de josé99Envoyer un message privé à josé99
  Revenir en haut de la page
 tirikou  Posté le 01/10/2007 à 11:01  
Petit astucien


853 Messages

Bonjour,

Il peut y avoir une manière assez simple de transférer d'une table à une autre.

Il faudrait coder une page qui récupère les données de ta table récupérée et qui les réinjecte dans ta nouvelle table.

Une requete select pour récupérer toute l'ancienne table

Une boucle while

une requete insert dans la boucle (avec nouveau nom de table et nouveaux noms de champs).

Cela peut se faire directement sur ton hebergement ou bien en local (easy php) et tu réimporte ta table ensuite.

Afficher le profil de tirikouEnvoyer un message privé à tirikou
 Revenir en haut de la page
 josé99  Posté le 02/10/2007 à 12:03  
Petit astucien

323 Messages

Merci Tirikou,

mais étant débutant je ne saisis pas trop ce que tu préconise.

Merci

Afficher le profil de josé99Envoyer un message privé à josé99
  Revenir en haut de la page
 tirikou  Posté le 03/10/2007 à 19:05  
Petit astucien


853 Messages

Ah !

Suis pas un grand prophète non plus mais tu peux faire ainsi :

Il te faudrait notepad++

Tu fais une page en php avec une première requete :

//1ère requete de selection de ton ex table

$search_ex=mysql_query('SELECT * FROM ex_table ORDER BY id DESC ')
or die ('Erreur select_ex_table:'.mysql_error());

//Boucle pour récupérer chaque ligne

while ($search=mysql_fetch_array($search_ex)) {

//Insertion dans la nouvelle table en récupérant les anciens champs et en les remettant dans les nouveaux

mysql_query("INSERT INTO new_table (id, champ1, champ2, champ3, etc)
VALUES('', '$search['ex_champ1']', '$search['ex_champ2']', '$search['ex_champ3']', etc)")
or die ('Erreur insert_new_table : '.mysql_error() );

}

Ensuite tu met ton ex table dans easyphp par exemple ou sur ta base sql de ton hebergeur, tu met egalement ta page php et tu l'appelles. En s'exéutant elle récupére toutes les données de ton ancienne base et les remet dans ta nouvelle.

C'est mieux comme ça ???

PS j'avais oublié qu'il ne faut pas oublié de se connecter à ta base avant d'exécuter le script.



Modifié par tirikou le 04/10/2007 11:44
Afficher le profil de tirikouEnvoyer un message privé à tirikou
 Revenir en haut de la page
 Pomp  Posté le 04/10/2007 à 22:36  
Petit astucien

504 Messages

La solution de Tirikou fonctionne mais vu que tu as un fichier sql (SQL étant un langage de gestion de données), tu peux le modifier de façon à ce qu'il crée les tables que tu souhaite. Il n'y as pas forcément besoin de passer par du PHP.

Si tu veux une aide plus précise donnes nous un détail de tes tables initiales et finales.

Afficher le profil de PompEnvoyer un message privé à Pomp
 Revenir en haut de la page
 josé99  Posté le 09/10/2007 à 11:58  
Petit astucien

323 Messages

Bonjour,

désolé je n'ai pas pu répondre avant. Voici mes tables et champs actuels :

Tables SQL
  1. --
  2. -- Structure de la table `s_feedback`
  3. --
  4. CREATE TABLE `s_feedback` (
  5. `id` int(10) unsigned NOT NULL auto_increment,
  6. `user_id` int(10) unsigned default NULL,
  7. `admin_id` int(10) unsigned NOT NULL default '0',
  8. `category_id` int(10) unsigned NOT NULL default '0',
  9. `name` varchar(100) NOT NULL default '',
  10. `email` varchar(100) NOT NULL default '',
  11. `question` text NOT NULL,
  12. `attachment` text NOT NULL,
  13. `answer` text NOT NULL,
  14. `date_posted` datetime NOT NULL default '0000-00-00 00:00:00',
  15. `date_answered` datetime NOT NULL default '0000-00-00 00:00:00',
  16. `answered` tinyint(1) NOT NULL default '0',
  17. `placed` tinyint(1) NOT NULL default '0',
  18. PRIMARY KEY (`id`),
  19. KEY `NewIndex` (`user_id`),
  20. KEY `admin_id` (`admin_id`)
  21. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
  22. -- --------------------------------------------------------
  23. --
  24. -- Structure de la table `s_file_category`
  25. --
  26. CREATE TABLE `s_file_category` (
  27. `id` int(10) unsigned NOT NULL auto_increment,
  28. `parent_id` int(10) unsigned NOT NULL default '0',
  29. `name` varchar(100) NOT NULL default '',
  30. `description` text NOT NULL,
  31. `sort_order` tinyint(3) unsigned NOT NULL default '0',
  32. `num_entry` smallint(5) unsigned NOT NULL default '0',
  33. `private` tinyint(1) NOT NULL default '0',
  34. `active` tinyint(1) NOT NULL default '1',
  35. PRIMARY KEY (`id`)
  36. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
  37. -- --------------------------------------------------------
  38. --
  39. -- Structure de la table `s_file_entry`
  40. --
  41. CREATE TABLE `s_file_entry` (
  42. `id` int(10) unsigned NOT NULL auto_increment,
  43. `author_id` int(10) unsigned NOT NULL default '0',
  44. `updater_id` int(10) unsigned NOT NULL default '0',
  45. `directory` varchar(255) NOT NULL default '',
  46. `sub_directory` varchar(255) NOT NULL default '',
  47. `filename` varchar(255) NOT NULL default '',
  48. `filesize` int(10) unsigned NOT NULL default '0',
  49. `filetype` varchar(50) NOT NULL default '',
  50. `title` varchar(255) NOT NULL default '',
  51. `description` text NOT NULL,
  52. `description_full` text NOT NULL,
  53. `comment` text NOT NULL,
  54. `date_updated` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  55. `date_posted` datetime NOT NULL default '0000-00-00 00:00:00',
  56. `downloads` int(10) unsigned NOT NULL default '0',
  57. `filetext` text NOT NULL,
  58. `sort_order` smallint(5) unsigned NOT NULL default '1',
  59. `private` tinyint(1) NOT NULL default '0',
  60. `active` tinyint(1) NOT NULL default '0',
  61. PRIMARY KEY (`id`),
  62. KEY `author_id` (`author_id`),
  63. KEY `filename` (`filename`(4)),
  64. KEY `updater_id` (`updater_id`),
  65. FULLTEXT KEY `title` (`title`,`description`,`filetext`)
  66. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='images per item' AUTO_INCREMENT=1 ;
  67. -- --------------------------------------------------------
  68. --
  69. -- Structure de la table `s_file_entry_to_category`
  70. --
  71. CREATE TABLE `s_file_entry_to_category` (
  72. `entry_id` int(10) unsigned NOT NULL default '0',
  73. `category_id` int(10) unsigned NOT NULL default '0',
  74. `is_main` tinyint(4) NOT NULL default '1',
  75. PRIMARY KEY (`entry_id`,`category_id`)
  76. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  77. -- --------------------------------------------------------
  78. --
  79. -- Structure de la table `s_kb_attachment_to_entry`
  80. --
  81. CREATE TABLE `s_kb_attachment_to_entry` (
  82. `entry_id` int(10) unsigned NOT NULL default '0',
  83. `attachment_id` int(10) unsigned NOT NULL default '0',
  84. `attachment_type` tinyint(1) NOT NULL default '0',
  85. KEY `entry_id` (`entry_id`),
  86. KEY `attachment_id` (`attachment_id`)
  87. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  88. -- --------------------------------------------------------
  89. --
  90. -- Structure de la table `s_kb_category`
  91. --
  92. CREATE TABLE `s_kb_category` (
  93. `id` int(10) unsigned NOT NULL auto_increment,
  94. `parent_id` int(10) unsigned NOT NULL default '0',
  95. `name` varchar(100) NOT NULL default '',
  96. `description` text NOT NULL,
  97. `sort_order` tinyint(3) unsigned NOT NULL default '0',
  98. `num_entry` smallint(5) unsigned NOT NULL default '0',
  99. `commentable` tinyint(1) NOT NULL default '1',
  100. `ratingable` tinyint(1) NOT NULL default '1',
  101. `private` tinyint(1) NOT NULL default '0',
  102. `active` tinyint(1) NOT NULL default '1',
  103. PRIMARY KEY (`id`),
  104. KEY `parent_id` (`parent_id`)
  105. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=185 ;
  106. -- --------------------------------------------------------
  107. --
  108. -- Structure de la table `s_kb_entry`
  109. --
  110. CREATE TABLE `s_kb_entry` (
  111. `id` int(10) unsigned NOT NULL auto_increment,
  112. `author_id` int(10) unsigned NOT NULL default '0',
  113. `updater_id` int(10) unsigned NOT NULL default '0',
  114. `title` text NOT NULL,
  115. `body` mediumtext NOT NULL,
  116. `url_title` varchar(255) NOT NULL default '',
  117. `meta_keywords` text NOT NULL,
  118. `meta_description` text NOT NULL,
  119. `date_updated` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  120. `date_posted` datetime NOT NULL default '0000-00-00 00:00:00',
  121. `hits` int(10) unsigned NOT NULL default '0',
  122. `sort_order` smallint(5) unsigned NOT NULL default '1',
  123. `private` tinyint(1) NOT NULL default '0',
  124. `active` tinyint(1) NOT NULL default '1',
  125. PRIMARY KEY (`id`),
  126. KEY `updater_id` (`updater_id`),
  127. KEY `author_id` (`author_id`),
  128. KEY `meta_keywords` (`meta_keywords`(10)),
  129. KEY `url_title` (`url_title`(10)),
  130. FULLTEXT KEY `title_only` (`title`),
  131. FULLTEXT KEY `title` (`title`,`body`,`meta_keywords`,`meta_description`)
  132. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=228 ;
  133. -- --------------------------------------------------------
  134. --
  135. -- Structure de la table `s_kb_entry_to_category`
  136. --
  137. CREATE TABLE `s_kb_entry_to_category` (
  138. `entry_id` int(10) unsigned NOT NULL default '0',
  139. `category_id` int(10) unsigned NOT NULL default '0',
  140. `is_main` tinyint(1) NOT NULL default '1',
  141. PRIMARY KEY (`entry_id`,`category_id`),
  142. KEY `entry_id` (`entry_id`)
  143. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  144. -- --------------------------------------------------------
  145. --
  146. -- Structure de la table `s_kb_rating`
  147. --
  148. CREATE TABLE `s_kb_rating` (
  149. `entry_id` int(10) unsigned NOT NULL default '0',
  150. `votes` int(10) unsigned NOT NULL default '0',
  151. `rate` bigint(20) unsigned NOT NULL default '0',
  152. PRIMARY KEY (`entry_id`)
  153. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  154. -- --------------------------------------------------------
  155. --
  156. -- Structure de la table `s_letter_template`
  157. --
  158. CREATE TABLE `s_letter_template` (
  159. `id` int(10) unsigned NOT NULL auto_increment,
  160. `letter_key` varchar(20) NOT NULL default '',
  161. `title` varchar(255) NOT NULL default '',
  162. `description` varchar(255) NOT NULL default '',
  163. `from_email` varchar(255) NOT NULL default '',
  164. `from_name` varchar(255) NOT NULL default '',
  165. `to_email` varchar(255) NOT NULL default '',
  166. `to_name` varchar(255) NOT NULL default '',
  167. `to_cc_email` varchar(255) NOT NULL default '',
  168. `to_cc_name` varchar(255) NOT NULL default '',
  169. `to_bcc_email` varchar(255) NOT NULL default '',
  170. `to_bcc_name` varchar(255) NOT NULL default '',
  171. `subject` varchar(255) NOT NULL default '',
  172. `body` text,
  173. `skip_field` varchar(255) NOT NULL default '',
  174. `is_html` tinyint(1) NOT NULL default '0',
  175. `in_out` tinyint(4) NOT NULL default '1',
  176. `predifined` tinyint(1) NOT NULL default '0',
  177. `active` tinyint(1) NOT NULL default '0',
  178. PRIMARY KEY (`id`)
  179. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

Je souhaite pouvoir insérer les données qui sont dans ces Tables dans Plone qui est un CMS.

Merci

Afficher le profil de josé99Envoyer un message privé à josé99
  Revenir en haut de la page
 Pomp  Posté le 09/10/2007 à 15:38  
Petit astucien

504 Messages
mais si tu ne nous donne pas la structure que tu veut obtenir, ça va être difficile de t'aider
Afficher le profil de PompEnvoyer un message privé à Pomp
 Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte




Les sujets pertinents liés
Récuperer donnes dans Bdd d'un inscrit
Création d'une base de données?
Problème Mysql + Lien
Copier des données d'une base à l'autre
retour de formulaire
encodage des caracteres
ouverture d'une deuxième base et echec !!!
installer un script avec MySQL
Recherche script PHP particulier.
Envoyer les réponses d'un formulaire sur MySQL
Help... Je débute avec PhpMyAdmin/MySQL
le slamming ( arnaque )
bouton radio et enregistrement BdD
MySQL : ça vaut le coup ?
Php formulaire plusieurs boutons ?
Aide aux débutants, erreurs dans les sites web
html pour débutant
 
Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !



 > Tous les forumsForum des Webmasters

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page