Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1021 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  xml + php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

xml + php

n°1850136
louloule29
Posté le 12-02-2009 à 00:26:29  profilanswer
 

bonjour je suis tout nouveau dans la programmation.
je suis en train de vouloir inserer des donnees d une bd dans un xml.ma table a 3 champs id , prenom et age.
tout s'inserer bien dans le xml mais 3 fois a chaque noeud.
 
$query = "select * from " . $table_name;  
$result = mysql_query($query) or die("Impossible d'interroger la base de données" );
$num = mysql_num_rows($result);
   
// connaître le nbre de champs
  $nombre=mysql_num_fields($result);
 
// s'il y a des résultats  
if ($num != 0) {  
      $file= fopen("../photos/gallerie.xml", "w" );
      $_xml ="<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n";
   $_xml .="<gallery xmlns:media=\"http://search.yahoo.com/mrss/\">\r\n";
   $_xml .="<settings>\r\n";
      $_xml .="<mediaFolder type=\"large\" media=\"video\">video/</mediaFolder>\r\n";
   $_xml .="<mediaFolder type=\"thumbnail\" media=\"video\">video/thumbs/</mediaFolder>\r\n";
   $_xml .="<mediaFolder type=\"large\" media=\"swf\">video/</mediaFolder>\r\n";
   $_xml .="<mediaFolder type=\"thumbnail\" media=\"swf\">video/thumbs/</mediaFolder>\r\n";
   $_xml .="<mediaFolder type=\"large\" media=\"image\">wallimages/</mediaFolder>\r\n";
   $_xml .="<mediaFolder type=\"thumbnail\" media=\"image\">wallimages/</mediaFolder>\r\n";
   $_xml .="</settings>\r\n";
      while ($row = mysql_fetch_array($result)) {  
for ($i=0;$i<$nombre;$i++){    $champs=mysql_field_name($result,$i);
     //convertit en utf8 pour les caractères accentués.
   $contenu=utf8_encode($row[$champs]);
      $_xml .="<item description=\"" . $row["age"] . "\" title=\"" . $row["prenom"] . "\">\r\n";
   $_xml .="<media:text>" . $row["prenom"] . " </media:text>\r\n";
            $_xml .="<media:content url=\"" . $row["id"] . " .jpg\" type=\"image/jpeg\" width=\"450\" height=\"338\" />\r\n";
   $_xml .="</item>\r\n";  
  }  
         }
 
$_xml .="</gallery>";
fwrite($file, $_xml); fclose($file);
        echo "Le fichier XML a etait créé <a      href=\"../photos/gallerie.xml\">Show source.</a>";
}  
else {  
    echo "erreur";
}  
?>  
 
-------------------------------------
 
 
ceci qui donne  
 
-------------------------
 
+ <item description="21" title="baby love">
  <media:text>baby love</media:text>  
  <media:content url="1 .jpg" type="image/jpeg" width="450" height="338" />  
  </item>
- <item description="21" title="baby love">
  <media:text>baby love</media:text>  
  <media:content url="1 .jpg" type="image/jpeg" width="450" height="338" />  
  </item>
- <item description="21" title="baby love">
  <media:text>baby love</media:text>  
  <media:content url="1 .jpg" type="image/jpeg" width="450" height="338" />  
  </item>
- <item description="19" title="solene">
  <media:text>solene</media:text>  
  <media:content url="2 .jpg" type="image/jpeg" width="450" height="338" />  
  </item>
- <item description="19" title="solene">
  <media:text>solene</media:text>  
  <media:content url="2 .jpg" type="image/jpeg" width="450" height="338" />  
  </item>
- <item description="19" title="solene">
  <media:text>solene</media:text>  
  <media:content url="2 .jpg" type="image/jpeg" width="450" height="338" />  
  </item>
 
 
 
pourquoi?????

mood
Publicité
Posté le 12-02-2009 à 00:26:29  profilanswer
 

n°1850154
fluminis
Posté le 12-02-2009 à 08:01:48  profilanswer
 

   while ($row = mysql_fetch_array($result)) {  
for ($i=0;$i<$nombre;$i++){  
 
c'est redondant !
 
Deja, utilise plutot $row = mysql_fetch_assoc que mysql_fetch_array : tu peux ensuite faire $row['maclonne'] plutot que $row[0] c'est bcp plus lisible
 
mysql_fetch_assoc (et mysql_fetch_array) retourne une ligne de résultat a chaque fois, donc il n'est pas necessaire de faire ensuite un for de 0 à nombre.
 
Enleve le for a l'interieur de while et ca devrait etre bon


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1850364
avander
Posté le 12-02-2009 à 14:25:29  profilanswer
 

Un petit truc pour faire du xml à partir d'SQL...
 

$query = "SELECT concat( '<el1>', col1, '</el1>', '<el2>', col2, '</el2>', '<el3>', col3, '</el3>') FROM `une_table` WHERE 1";



Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  xml + php

 

Sujets relatifs
Plus de sujets relatifs à : xml + php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR