EXPORTER UNE TABLE MYSQL VERS UN FICHIER XML AVEC PHP

afad Messages postés 715 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 10 septembre 2009 - 26 avril 2004 à 15:25
ouassilachraf Messages postés 8 Date d'inscription vendredi 16 mai 2008 Statut Membre Dernière intervention 28 mai 2008 - 24 juil. 2009 à 01:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/19763-exporter-une-table-mysql-vers-un-fichier-xml-avec-php

ouassilachraf Messages postés 8 Date d'inscription vendredi 16 mai 2008 Statut Membre Dernière intervention 28 mai 2008
24 juil. 2009 à 01:44
a mr.grandvizir
j'ai testé ca mais ca marche pas
CasT0r66 Messages postés 1 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 22 juin 2009
22 juin 2009 à 20:39
super cette source, facile à comprendre et modifier selon l'arborescence souhaité
game50 Messages postés 13 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 7 juillet 2008
21 avril 2008 à 13:52
Comment on fait pour la requette $q? merci
lecappa Messages postés 2 Date d'inscription dimanche 25 avril 2004 Statut Membre Dernière intervention 22 février 2008
22 févr. 2008 à 12:17
Et point de vue Accent ? c'est bon? car l'exporte dans le fichier xml et qd je veux le lire dans mon flash, les accents sautent !
cela vient de l'encodage ou de mon flash?
cs_willink Messages postés 1 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 24 juillet 2007
24 juil. 2007 à 19:02
Nickel ce pti bout de code... maintenant, à chaque fois que j'ajoute un article sur mon blog, le flux RSS se mets automatiquement... C'est parfait...
Mon blog : mouchel.philippe.free.fr
crusty8x Messages postés 14 Date d'inscription lundi 8 janvier 2007 Statut Membre Dernière intervention 1 juin 2007
31 mai 2007 à 09:32
je ne comprends pas d'ou ça viens mais j'ai de balises qui se répètent à des endroits ou elles n'ont pas lieu d'etre.

<descripteur>
<nom>Cls</nom>
<comment>closed limit switch</Comment></comment>
</descripteur>

donc comme je viens de le dire, je ne comprends pas s'ou viens cette balise </Comment>...

merci d'avance.
DrChal Messages postés 28 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 30 mars 2012
1 mars 2007 à 14:14
Salut
J'ai essayé ton code et malheureusement. J'ai les erreurs suivante:

Warning: domxml_open_file(): I/O in c:\program files\easyphp1-8\www\xml\phpxml6\ihm\carnet.php on line 2

Warning: domxml_open_file(): warning : in c:\program files\easyphp1-8\www\xml\phpxml6\ihm\carnet.php on line 2

Warning: domxml_open_file(): failed to load external entity "../xml/carnet.xml" in c:\program files\easyphp1-8\www\xml\phpxml6\ihm\carnet.php on line 2

Warning: domxml_xslt_stylesheet_file(): I/O in c:\program files\easyphp1-8\www\xml\phpxml6\ihm\carnet.php on line 3

Warning: domxml_xslt_stylesheet_file(): warning : in c:\program files\easyphp1-8\www\xml\phpxml6\ihm\carnet.php on line 3

Warning: domxml_xslt_stylesheet_file(): failed to load external entity "../xml/carnet.xsl" in c:\program files\easyphp1-8\www\xml\phpxml6\ihm\carnet.php on line 3

Fatal error: Call to a member function on a non-object in c:\program files\easyphp1-8\www\xml\phpxml6\ihm\carnet.php on line 4


Peux tu me dire s'il n'y a pas un paramètre supplémentaire à configurer dans easyphp?
J'ai déjà rajouter les extensions :
- php_domxml
- php_xmlrpc
- php_xslt

J'ai remarqué une chose, si je mets le chemin réel du fichier xml, ça marche.
Comment peut on le faire avec un chemin absolu?

Merci davance
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
26 juin 2005 à 15:31
Désolé de travailler au goutte à goutte, mais je découvre petit à petit les secrets bizarres du XML. Pour éviter d'enregistrer sur le serveur, allez voir: http://www.phpcs.com/code.aspx?id=13282
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
25 juin 2005 à 18:49
Je me suis renseigné et pour éveiller aux problèmes d'exportation, je vous conseille le lien suivant afin d'utiliser les fonctions HTMLSPECIALCHARS et ADDSLASHES.
http://www.phpcs.com/forum.v2.aspx?ID=495433

Et puis, au lieu de faire un lien en bas de page, pourquoi ne pas rediriger l'utilisateur.

Au final, on obtient ceci:

<?php
function Display($Value) {
return htmlspecialchars(addslashes($Value));
}
/* CONNEXION: $q étant le résultat d'une requète */
$xml = '<?xml version="1.0" encoding="ISO-8859-1"?><carnet>';
while ($dat = mysql_fetch_array($q)) {
$xml .= '';
$xml .= '<nom>'.Display($dat['nom']).'</nom>';
$xml .= ''.Display($dat['prenom']).'

';
$xml .= ''.Display($dat['age']).'';
$xml .= '

';
}
$xml .= '</carnet>';

$Fichier = fopen('carnetMysqlToXml.xml', 'a+');
fputs($Fichier, $xml);
fclose($Fichier);

header('Location: carnetMysqlToXml.xml');
?>

Le soucis est qu'il faudra faire du ménage après sur le serveur... Au final, avec ma proposition, on a un truc qui ne bugge pas. En espérant que phpMyAdmin 253 aura été corrigé...
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
24 juin 2005 à 16:46
Ce RSS est certes enregistré sur le serveur, mais il faudrait le faire télécharger, puis le supprimer. Au niveau de la taille des XML, ça risque de flooder un max si la base est grosse... C'est effectivement un bout de code.
sniperbe Messages postés 9 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 28 novembre 2004
27 nov. 2004 à 21:37
salut a tous,comment faire pour obtenir ceci??,

<?xml version='1.0' encoding='ISO-8859-1' standalone='yes'?>

<travail photo="g1.jpg>
<commentaires></commentaires>
</travail>



car je charge mes photo dans une bd afin de deja la ressortir en php,j'aimerais employé la meme bd pour ressortir les données en xml et pouvoir les mettre dans un diâporama en flash.Mais il faut que mon xml ressortant de ma bd soit absolument comme cela et qu'il puisse se mettre a jour a chaque upload dans la bd.Je sais pas si je suis compréhensible dans mes propos lolll j'en suis désolé.Dés que j'ai la reponse,je mettrais ma première sources en fla avec un diapo en fla,un en php avec une bd,idéal pour les sites en deux parties.Merci a tous de votre aide.
cs_sophie13 Messages postés 3 Date d'inscription mercredi 15 septembre 2004 Statut Membre Dernière intervention 28 octobre 2004
28 oct. 2004 à 10:58
Bonjour,

En fait, voici la réponse que j'ai pu obtenir :

$xml .= '';
}
$xml .= '

';

Ce qu'il y a d'assez extraordinaire, c'est que si après avoir lancé la page en php, si j'ai le malheur de la réactualiser, le fichier php se transforme et devient invalide :

$xml .= '';
}
$xml .= '

';

Des crochets et doubles côtes apparaissent à la fin des lignes. Il faut donc faire très attention à l'actualisation.

De plus, si j'utilise l'encodage XML UTF-8, le fichier n'est pas créé. Ce qui me pose des problèmes pour les accents.

Si quelqu'un a la solution ...
Sinon, ce code marche très bien.

Sophie
cs_OriOn Messages postés 822 Date d'inscription vendredi 25 mai 2001 Statut Modérateur Dernière intervention 1 août 2014
28 oct. 2004 à 09:05
$xml .= ' ne fonctionne pas ?-)
cs_sophie13 Messages postés 3 Date d'inscription mercredi 15 septembre 2004 Statut Membre Dernière intervention 28 octobre 2004
27 oct. 2004 à 17:06
Bravo pour ce script génial.
Comment dois-je faire pour générer un fichier XML dans le cas où serait un élément et où les informations nom, prenom, age seraient des attributs de ?
Exemple :
<carnet>

</carnet>

En effet, l'intérêt d'utiliser des attributs est qu'ils sont bien mieux "lus" dans une application Flash.
Merci cent mille fois d'avance pour votre aide.
afad Messages postés 715 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 10 septembre 2009
27 avril 2004 à 09:04
J'adore les devinettes, lol
OK, Faut juste que je respecte la DTD RSS 2.0, c'est dans mes cordes....

Merci A+
aFaD
cs_OriOn Messages postés 822 Date d'inscription vendredi 25 mai 2001 Statut Modérateur Dernière intervention 1 août 2014
26 avril 2004 à 21:05
RSS = XML

Réfléchit à ce que je viens de dire ;-)
afad Messages postés 715 Date d'inscription samedi 29 mars 2003 Statut Membre Dernière intervention 10 septembre 2009
26 avril 2004 à 15:25
Salut, je suis un peu neophyte en php, est ce que de la même manière, je peux écrire un flux RSS avec PHP (à partir de news écrite dans une table MySQL)...

Qu'est ce qui change,la syntaxe du xml, c'est tout ??

A+
aFaD
Rejoignez-nous