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

Résolu
conseil198 Messages postés 51 Date d'inscription jeudi 9 janvier 2014 Statut Membre Dernière intervention 28 avril 2014 - 22 janv. 2014 à 11:46
conseil198 Messages postés 51 Date d'inscription jeudi 9 janvier 2014 Statut Membre Dernière intervention 28 avril 2014 - 24 janv. 2014 à 10:23
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

mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 4
23 janv. 2014 à 21:53
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+
conseil198 Messages postés 51 Date d'inscription jeudi 9 janvier 2014 Statut Membre Dernière intervention 28 avril 2014
24 janv. 2014 à 10:23
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
Rejoignez-nous