Enregistrer les données d'une requête php vers un fichier XML [Résolu]

Signaler
Messages postés
51
Date d'inscription
jeudi 9 janvier 2014
Statut
Membre
Dernière intervention
28 avril 2014
-
Messages postés
51
Date d'inscription
jeudi 9 janvier 2014
Statut
Membre
Dernière intervention
28 avril 2014
-
Bonjour,

J'ai un fichier PHP et Je souhaite faire une requête SQL dans ce fichier pour récupérer les données de la base et les enregistrer dans un fichier XML.
Je me demande si vous pouvez m'aider.

Merci A L'AVANCE.

2 réponses

Messages postés
6650
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
4
Bonsoir,

$xmlDom = new DOMDocument();
$xmlDom->appendChild($xmlDom->createElement('results'));
$xmlRoot = $xmlDom->documentElement;

while ( $row = mysql_fetch_row($result) ) 
    {
      $xmlRowElementNode = $xmlDom->createElement('row');

      $i=0;
      for($i=0;$i<mysql_num_fields($result);$i++)
      {
          $xmlRowElement = $xmlDom->createElement(mysql_field_name($result,$i));
          $xmlText = $xmlDom->createTextNode($row[$i]);
            $xmlRowElement->appendChild($xmlText);

            $xmlRowElementNode->appendChild($xmlRowElement);
      }

      $xmlRoot->appendChild($xmlRowElementNode);
   }


    header('Content-type:  text/xml');
    echo $xmlDom->saveXML();


A+
Messages postés
51
Date d'inscription
jeudi 9 janvier 2014
Statut
Membre
Dernière intervention
28 avril 2014

Bonjour,
Je lai fait avec une autre manière: avec la manipulation des fichiers en PHP, ce qui donne:

<?php
$file = fopen("test.xml","w");
$a='
<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://earth.google.com/kml/2.2"><Document><name><![CDATA[Loire-Atlantique (44)]]></name><Style id="gitesdegaule.fr"><LineStyle><color>cc2d3939</color><width>3</width></LineStyle><PolyStyle><color>804d4def</color></PolyStyle></Style><Placemark id="loire-atlantique"><name><![CDATA[Loire-Atlantique (44)]]></name><styleUrl>#gitesdegaule.fr</styleUrl><Polygon><outerBoundaryIs><LinearRing><tessellate>1</tessellate><coordinates>
';

echo fputs($file,"$a");
?>

<?php

include ('connect.php');//connexion à la base
$requete = 'SELECT * FROM gpsversion';
$demande = mysql_query("$requete");
while ($donnees = mysql_fetch_array($demande))
{
echo $id = $donnees['id'];
echo $lng = $donnees['lng'];
echo $lat = $donnees['lat'];

fputs($file,"$id, $lng, $lat, ");
}
/////////
$a='
</coordinates></LinearRing></outerBoundaryIs></Polygon></Placemark></Document></kml>
';

echo fputs($file,"$a");


fclose($file);

////////

mysql_close();
?>
MERCI POUR VOTRE AIDE