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

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

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