Transformer une db mysql en fichier xml

Signaler
Messages postés
15
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
18 juillet 2007
-
Messages postés
15
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
18 juillet 2007
-
Bonjour.En faite je transforme une requete sql en fichier xml.cette requete retourne le groupeid ,le nom,leprenom de l utilisateur.Je veux obtenir un fichier xml qui retourne les eleves par groupe.c ad sous la forme suivant :
<groupe1>
  
        <NOM> PATRICK</NOM>
       CLOHE

</GROUPE1>
<groupe2>

  

        <NOM> JAQUE</NOM>

       CEDRIC




</GROUPE2>

2 réponses

Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
9
Salut,

Vite fait, mal fait :

<?php

$sql = "select groupeid, nom, prenom from...";
$res = mysql_query($sql);

$doc = new DomDocument();
$root = $doc->createElement('root');
$doc->appendChild($root);

while ( $data = mysql_fetch_assoc($res) ) {
    $group = $doc->createElement('groupe');
    $user = $doc->createElement('user');
    $nom = $doc->createElement('nom',$data['nom']);


    $prenom = $doc->createElement('prenom',$data['prenom']);

    $group->setAttribute('id',$data['groupeid']);
    $user->appendChild($nom);

    $user->appendChild($prenom);
    $group->appendChild($user);
    $root->appendChild($group);


}

echo $doc->saveXML();
?>
Messages postés
15
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
18 juillet 2007

merci bcp J_G,en faite j'ai trouver la solution .voila la partie du code qui résout le bleme.
si qlq'un vx la voir.

     $sql = "SELECT  groupid,userid,username, firstname, lastname FROM  ............................ ";
    echo $sql;
     if(!empty($dataorder)) $sql .= " ORDER BY $dataorder";
   
     if($Sdatalimit >= 1) $sql .= " LIMIT $Sdatalimit";
   
     $req = mysql_query($sql,$mysql_link);
     $req2 = mysql_query($sql,$mysql_link);
    $c=0;
     mysql_close($mysql_link); // FERME LA CONNEXION DBB
   
     // CONVERSION
   
     $file = '<?xml version="1.0" encoding="iso-8859-15"?><moodle version="2.0"><groups>';
    $n=mysql_num_rows($req);
   
     while($c < $n) {
     
    
     $row = mysql_fetch_row($req);
    $c++;
     $file .= '<groupe id=\''.$row[0].'\'>';
     $i = $row[0];
    while($i==$row[0] && $c<$n)
    {
  $file .= '';
$file .= ' '.$row[2].' ';
  
$file . = '<firstname>'.$row[3].'</firstname>';
$file .= '<lastname>'.$row[3].'</lastname> ';
$file .= '';
   
   
    $row = mysql_fetch_row($req);
    $c++;
    }
   
   
     $file .= '</groupe>';
     mysql_data_seek($req,$c-1);
     
     }