begin process at 2012 02 15 21:54:24
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > GENERER A LA VOLER UN FICHIER XML VIA UNE TABLE SQL + PHP

GENERER A LA VOLER UN FICHIER XML VIA UNE TABLE SQL + PHP


 Information sur la source

Note :
8 / 10 - par 2 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Niveau :Débutant Date de création :21/04/2004 Date de mise à jour :21/04/2004 01:22:01 Vu :17 447

Auteur : ceced

Ecrire un message privé
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

A pour but de generé a la volé le code xml a partir d'une table :)

1//connexion a la base
2// creation du fichier
3//Ecriture xml dans le fichier xml
4//lire le fichier xml (results.xml)


Source

  • <?php
  • $db_name = "nomdb";
  • $link = mysql_connect("localhost", "root", "") or die("Connexion impossible.");
  • $table_name = 'table';
  • $db = mysql_select_db($db_name, $link);
  • $query = "select * from " . $table_name;
  • $result = mysql_query($query, $link) or die("Impossible d'interroger la base de données");
  • $num = mysql_num_rows($result);
  • if ($num != 0) { $file= fopen("results.xml", "w"); $_xml ="<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n"; $_xml .="<table>\r\n"; while ($row = mysql_fetch_array($result)) { if ($row["votrechamp"]) { $_xml .="\t<page title=\"" . $row["votrechamp"] . "\">\r\n"; $_xml .="\t\t<file>" . $row["votrechamp"] . "</file>\r\n";$_xml .="\t</page>\r\n"; } else { $_xml .="\t<page title=\"" . $row["votrechamp"] . "\">\r\n";$_xml .="\t\t<para>". $row["votrechamp"] ." passe:". $row["pass"] ."</para>\r\n"; $_xml .="\t</page>\r\n"; } } $_xml .="</table>"; fwrite($file, $_xml); fclose($file); echo "Le fichier XML a etait créé <a href=\"results.xml\">Show source :).</a>"; } else { echo "erreur"; } ?>
<?php 


$db_name = "nomdb";
$link = mysql_connect("localhost", "root", "") or die("Connexion impossible.");
$table_name = 'table';

$db = mysql_select_db($db_name, $link);


$query = "select * from " . $table_name;


$result = mysql_query($query, $link) or die("Impossible d'interroger la base de données");
$num = mysql_num_rows($result);




  if ($num != 0) { $file= fopen("results.xml", "w"); $_xml ="<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n"; $_xml .="<table>\r\n"; while ($row = mysql_fetch_array($result)) { if ($row["votrechamp"]) { $_xml .="\t<page title=\"" . $row["votrechamp"] . "\">\r\n"; $_xml .="\t\t<file>" . $row["votrechamp"] . "</file>\r\n";$_xml .="\t</page>\r\n"; } else { $_xml .="\t<page title=\"" . $row["votrechamp"] . "\">\r\n";$_xml .="\t\t<para>". $row["votrechamp"] ." passe:". $row["pass"] ."</para>\r\n"; $_xml .="\t</page>\r\n"; } } $_xml .="</table>"; fwrite($file, $_xml); fclose($file); echo "Le fichier XML a etait créé  <a href=\"results.xml\">Show source :).</a>"; } else { echo "erreur"; } ?>
 



 Sources du même auteur

RECUPERATION DES IMAGES D'UN DOSSIER EXTERIEUR
REDIMENSIONNER TOUTE VOS IMAGES A LA VOLER A PARTIR D'UN DOS...
VERIFICATION EN TEMP REEL DES ADRESSE MAIL LA VRAI!
EXPLOI FAILLE INCLUDE & UPLOAD
SCANER VOS PORT ET AFFICHE LES PORT OUVERT + LES NOMS DES TR...

 Sources de la même categorie

Source avec Zip Source avec une capture GENERATEUR D'ONGLET DE NAVIGATION PHP par pos123
FORMATER UN LIEN YOUTUBE, DAILYMOTION OU VIMEO POUR L'UTILIS... par kgb93
Source avec Zip Source avec une capture PAGINATION + FICHIER CSS par profdi
Source avec Zip Source avec une capture SYSTEME D'AUTHENTIFICATION PHP AVEC PROTÉCTION KEYLOGGER par mtrix000
Source avec Zip Source avec une capture GENERATEUR DE BOUTONS DE PARTAGES POUR RESEAUX SOCIAUX par cod57

Commentaires et avis

Commentaire de pdl le 22/04/2004 08:26:57

C'est pas claire ton truc ! Qu'est-ce que l'on met à la place de "votrechamp" ? A quoi sert le test  if ($row["votrechamp"]) ?

Et puis ton code ne permet pas de dumper toutes les colonnes de la requête de manière dynamique.

Tu peux certainement mieux faire.

Commentaire de pdl le 22/04/2004 08:54:56

Allez, pour être complet, je livre une version améliorée qui permet de mettre toutes les colonnes dans le fichier XML
[code]
if ($num != 0) {
$file= fopen("results.xml", "w");
$_xml ="&lt;?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?&gt;\r\n";
$_xml .="&lt;table&gt;\r\n";
while ($row = mysql_fetch_array($result)) {
$_xml .="\t&lt;row title=\"" . $row[0] . "\"&gt;\r\n";
$i = 0;
while (list($key, $val) = each($row)) {
// évite d'avoirune ligne avec l'index de la colonne
list($key, $val) = each($row);
$_xml .="\t\t&lt;$key&gt;" . $val . "&lt;/$key&gt;\r\n";
$i++;
}
$_xml .="\t&lt;/row&gt;\r\n";
} $_xml .="&lt;/table&gt;";
fwrite($file, $_xml);
fclose($file); echo "Le fichier XML a etait créé  &lt;a href=\"results.xml\"&gt;Show source :).&lt;/a&gt;";
} else {
echo "erreur";
}
[/code]

Commentaire de ceced le 22/04/2004 10:23:07

Pas mal pdl, eu pour votre CHAMP mafoi le champ d'une table! pour recuper l'id ou news tout depend de votre config!!!!

Bin voila , j aime bien partagé mes recettes de cuisine on dit toujour que les recettes peuvent etre amelioré!

Cordialement :p

Commentaire de redisnotdead le 14/04/2005 18:01:48

Bonjoir ( une sorte de croisement entre bonjour et bonsoir )
J'ai bien aimé cette source qui m'as permis d'éffectuer une transition de data entre sql et flash (via xml) mais j'ai une petite question : j'utilise l'utf-8 et j'ai un petit soucis, les caractères spéciaux et accentués ne passe pas dans le xml géneré par ta méthode, alors je sait pas si je m'y prend mal ou si il y as une astuce (faire passer le tout par une String) et comme je suis du genre noob éternel sur php j'aurai bien besoin de vos lumières, merci d'avance et bon <?php ?>
___
Redisdead : mi codeur mi codé

Commentaire de FRAJA le 28/06/2005 15:32:24

Bonjour,

un petit complément pour gérer tous les champs de la table et transformer en utf8 pour garder les accents dans le fichier xml.

<?php
//nom de la table
$table_name="nom_de_la_table";

//connection à la base de donnée
include ("connect.php");
  
$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("results.xml", "w");
      $_xml ="<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n";
      $_xml .="<table>\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 .="\t<$champs>" . $contenu . "</$champs>\r\n";   
  }
         }
$_xml .="</table>";
fwrite($file, $_xml); fclose($file);
        echo "Le fichier XML a etait créé <a      href=\"results.xml\">Show source :).</a>";
}
else {
    echo "erreur";
}  
?>

Franck

Commentaire de sawinashi le 24/10/2005 03:20:46

C'est cool de voir un code repris et corrigé sur Codes sources (en douceur en plus, et sans aggressivité) ! Bravo les gars ! Pour une fois que c'est pas dans le genre 'sale-newbie-regarde-ce-que-tu-fais-c'est-bourré-de-problèmes-de-sécurité-ton-truc-je-te-mets(zéro-surtout-reviens-plus-par-ici'...

En plus ton code est intéréssant. :)

Commentaire de lir le 20/01/2006 14:52:14

sympat

Commentaire de lir le 20/01/2006 15:08:17

c'est possible deme dire les zones à changer par rapport à une base.
désolé je débute!

merci

Commentaire de sletis le 28/04/2006 16:51:22

génial ce code ;) bon travail!

Commentaire de sletis le 28/04/2006 16:51:39

génial ce code ;) bon travail!

Commentaire de ibompuis le 23/05/2008 08:22:53

Extra, j'essai dadapter cette superbe source mais j'ai n petit souci de mise en forme xml :

le script :

<?php

//connection à la base de donnée
$db_name = "cook";
$link = mysql_connect("localhost", "root", "root") or die("Connexion impossible.");
$table_name = 'jos_groups';

$db = mysql_select_db($db_name);
  
$query = "select * from " . $table_name;
$result = mysql_query($query, $link) 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("results.xml", "w");
      $_xml ="<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n";
      $_xml .="<newsList>\r\n";
  
      while ($row = mysql_fetch_array($result)) {
  
for ($i=0;$i<$nombre;$i++){
    $_xml .="<news>\r\n";
$champs=mysql_field_name($result,$i);
     //convertit en utf8 pour les caractères accentués.
   $contenu=utf8_encode($row[$champs]);
  
            $_xml .="\t<$champs>" . $contenu . "</$champs>\r\n";
   $_xml .="</news>\r\n";
  }
         }

$_xml .="</newsList>";
fwrite($file, $_xml); fclose($file);
        echo "Le fichier XML a était créé <a href=\"results.xml\">Show source :).</a>";
}
else {
    echo "erreur";
}  
?>

le resulta :

<newsList>
<news>
<id>0</id>
</news>
<news>
<name>Public</name>
</news>
<news>
<id>1</id>
</news>
<news>
<name>Registered</name>
</news>
<news>
<id>2</id>
</news>
<news>
<name>Special</name>
</news>
</newsList>

Mon problème c'est que je voudrais plutot obtenir :

<newsList>
<news>
<id>0</id>
<name>Public</name>
</news>
<news>
<id>1</id>
<name>Registered</name>
</news>
<news>
<id>2</id>
<name>Special</name>
</news>
</newsList>

Une idéee comment procéder ?
Merci

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,544 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales