Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.18 KB | None | 0 0
  1. /*
  2.  * Fonction permettant de créer un fichier XML à partir des résultats d'une requête SQL
  3.  *
  4.  * @param $table: le nom de la table (doit être au pluriel)
  5.  * @param $results: un tableau de tableaux clé-valeur. (typiquement un  résult set obtenu en poussant un fetch_assoc dans un array)
  6.  *  format: array[array[$key=>$val, $key1=>$val1], array[$key3=>$val3]]
  7.  */
  8. function makeXML($table, $results){
  9.         //récupération et mise au singulier du nom de la table
  10.         $tableSing = substr($table,0, -1);
  11.         //création du document DOM
  12.         $doc = new DOMDocument("1.0");
  13.         $doc->formatOutput = true;
  14.        
  15.        
  16.         $racine = $doc->createElement(strval($table));
  17.         $doc->appendChild($racine);
  18.        
  19.         // pour chaque record création d'un noeud (nom de la table au singulier) et création de tous les noeuds en rapport avec les champs inclus dans l'array
  20.         foreach ($results as $record){
  21.             $noeud = $doc->createElement($tableSing);
  22.             foreach($record as $k=>$v){
  23.                 $recordNode = $doc->createElement($k);
  24.                 $text = $doc->createTextNode(utf8_encode($v));
  25.                 $recordNode->appendChild($text);
  26.                 $noeud->appendChild($recordNode);
  27.             }
  28.             $racine->appendChild($noeud);
  29.         }
  30.         echo $doc->saveXML();
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement