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

Messages postés
51
Date d'inscription
jeudi 9 janvier 2014
Dernière intervention
28 avril 2014
- - Dernière réponse : conseil198
Messages postés
51
Date d'inscription
jeudi 9 janvier 2014
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.
Afficher la suite 

Votre réponse

2 réponses

Messages postés
6711
Date d'inscription
mercredi 13 avril 2011
Dernière intervention
28 septembre 2015
0
Merci
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+
Commenter la réponse de mpmp93
Messages postés
51
Date d'inscription
jeudi 9 janvier 2014
Dernière intervention
28 avril 2014
0
Merci
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
Commenter la réponse de conseil198

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.