Creation d un fichier xml depuis donne mysql
audi68
Messages postés
626
Statut
Membre
-
lewis34 Messages postés 2557 Date d'inscription Statut Membre Dernière intervention -
lewis34 Messages postés 2557 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous,
J ai creer une gallerie photos en flash et j aimerais l alimenter par un chemin depuis ma base de donné
ex : ma base
id/ url / ..
1/ www.123.fr/im/1.jpg/...
2/.....
j aimerais donc que php me creer le fichier xml avec toutes les entrer de la table
Merci pour votre aide
J ai creer une gallerie photos en flash et j aimerais l alimenter par un chemin depuis ma base de donné
ex : ma base
id/ url / ..
1/ www.123.fr/im/1.jpg/...
2/.....
j aimerais donc que php me creer le fichier xml avec toutes les entrer de la table
Merci pour votre aide
A voir également:
- Creation d un fichier xml depuis donne mysql
- Fichier bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
12 réponses
Si tu ne maîtrise pas le dom, tu n'es pas obligé de l'utiliser, cela a même peu d'intérêts pour construire un fichier xml.
Le xml ce n'est rien d'autres que des balises, du texte donc.
Par exemple pour une table article, on pourrait faire :
Comme tu vois, rien de compliqué.
Le xml ce n'est rien d'autres que des balises, du texte donc.
Par exemple pour une table article, on pourrait faire :
$sql = 'SELECT id, titre, contenu FROM article';
$query = mysql_query($sql) or exit(mysql_error());
$xml = '<?xml version="1.0" encoding="ISO-8859-1"?>';
$xml .= '<articles>';
while( $row = mysql_fetch_assoc($query) )
{
$xml .= '<article id="' . $row['id'] . '">';
$xml .= '<titre>' . htmlspecialchars($row['titre']) . '</titre>';
$xml .= '<contenu>' . htmlspecialchars($row['contenu']) . '</contenu>';
$xml .= '</article>';
}
$xml .= '</articles>';
// Affichage
header('Content-type: text/xml; charset=ISO-8859-1');
echo $xml;
Comme tu vois, rien de compliqué.
merci de ta reponse
Par contre la je bloque
<?php
require "connect.php";
$reponse = mysql_query("SELECT * FROM t2 ")or die(mysql_error()); // Requête SQL
// On fait une boucle pour lister tout ce que contient la table :
while ($donnees = mysql_fetch_array($reponse) )
{
$dom = new DomDocument();
$dom->save('test1.xml');
//??//
}
?>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<IMAGES>
<IMG urlimage="images/miniature/traditionnel/im_181.jpg" description="Description1"/>
<IMG urlimage="images/miniature/traditionnel/im_173.jpg" description="Description2"/>
......
</IMAGES>
je ne vois pas comment faire pour ecrire l url et la descritpion
Par contre la je bloque
<?php
require "connect.php";
$reponse = mysql_query("SELECT * FROM t2 ")or die(mysql_error()); // Requête SQL
// On fait une boucle pour lister tout ce que contient la table :
while ($donnees = mysql_fetch_array($reponse) )
{
$dom = new DomDocument();
$dom->save('test1.xml');
//??//
}
?>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<IMAGES>
<IMG urlimage="images/miniature/traditionnel/im_181.jpg" description="Description1"/>
<IMG urlimage="images/miniature/traditionnel/im_173.jpg" description="Description2"/>
......
</IMAGES>
je ne vois pas comment faire pour ecrire l url et la descritpion
J'ai fait un script (assez complexe certes) pour justement gerer des photos dans une animations flash, si tu veut je t'envoie mes sources, .
Le principe est somme toute assez simple, tu upload tes photos, et a chaque fois ca te recree ton xml de reference. deja pas besoin de base de données tout est dans l'xml
Ca parait simple comme ça.. non .. ;-)
Le principe est somme toute assez simple, tu upload tes photos, et a chaque fois ca te recree ton xml de reference. deja pas besoin de base de données tout est dans l'xml
Ca parait simple comme ça.. non .. ;-)
Bonjour,
Tu peux t'aider de ce tuto pour créer ton fichier XML:
https://eusebius.developpez.com/php5dom/
après il suffit de combiner xml et les données récupérées de la base.
Tu peux t'aider de ce tuto pour créer ton fichier XML:
https://eusebius.developpez.com/php5dom/
après il suffit de combiner xml et les données récupérées de la base.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
merci de ta reponse
J aime bien ton "juste" mais je debute en php je n es que quelque base
Connais tu pas un tuto ou un exmeple?
merci
J aime bien ton "juste" mais je debute en php je n es que quelque base
Connais tu pas un tuto ou un exmeple?
merci
Pour bien apprendre le PHP tu peux lire ce tuto:
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql
Et plus particulièrement les parties traitant des bases de données:
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/914293-lisez-des-donnees#ss_part_2
-> Dans la boucle while de la récupération des données, au lieu d'afficher les données, tu les inscris dans le fichier XML, en t'aidant du tuto DOM-XML que je t'ai donné dans mon 1er message.
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql
Et plus particulièrement les parties traitant des bases de données:
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/914293-lisez-des-donnees#ss_part_2
-> Dans la boucle while de la récupération des données, au lieu d'afficher les données, tu les inscris dans le fichier XML, en t'aidant du tuto DOM-XML que je t'ai donné dans mon 1er message.
ah oui effectivement c est tres simple merci pour l exemple
Mais la le fichier ne se creer pas ou bien?
je vais tester
Mais la le fichier ne se creer pas ou bien?
je vais tester
ok mais je le met ou? a la place de affichage?
Pour l instant il me met une erreur à l'affichage
cele-ci
Warning: Cannot modify header information - headers already sent by (output started at /homez.232/gautomob/www/xml.php:9) in /homez.232/gautomob/www/xml.php on line 29
Pour l instant il me met une erreur à l'affichage
cele-ci
Warning: Cannot modify header information - headers already sent by (output started at /homez.232/gautomob/www/xml.php:9) in /homez.232/gautomob/www/xml.php on line 29
L'erreur du header est une erreur fréquente, en faisant une petite recherche sur internet tu trouveras la solution.
Ensuite, pour le file_put_contents, un saut vers la documentation php fournira réponse à ta question.
Ensuite, pour le file_put_contents, un saut vers la documentation php fournira réponse à ta question.
j essaie depuis avant mais imposible toujours une erreur a cette ligne
$num_bytes = file_put_contents("example.xml", $xml);
<?php
require "connect.php";
$reponse = mysql_query("SELECT * FROM voiture ")or die(mysql_error()); // Requête SQL
$xml = '<?xml version="1.0" encoding="ISO-8859-1"?>';
$xml .= '<articles>';
while( $row = mysql_fetch_assoc($reponse) )
{
$xml .= '<article id="' . $row['idd'] . '">';
$xml .= '<titre>' . htmlspecialchars($row['marque']) . '</titre>';
$xml .= '<contenu>' . htmlspecialchars($row['modele']) . '</contenu>';
$xml .= '</article>';
}
$xml .= '</articles>';
$num_bytes = file_put_contents("example.xml", $xml);
if( $num_bytes === false ) {
// file wasn't written successfully
echo 'Error writing file';
}
else {
echo $num_bytes . ' bytes were written';
}
// Affichage
echo $xml;
?>
merci de ton aide
$num_bytes = file_put_contents("example.xml", $xml);
<?php
require "connect.php";
$reponse = mysql_query("SELECT * FROM voiture ")or die(mysql_error()); // Requête SQL
$xml = '<?xml version="1.0" encoding="ISO-8859-1"?>';
$xml .= '<articles>';
while( $row = mysql_fetch_assoc($reponse) )
{
$xml .= '<article id="' . $row['idd'] . '">';
$xml .= '<titre>' . htmlspecialchars($row['marque']) . '</titre>';
$xml .= '<contenu>' . htmlspecialchars($row['modele']) . '</contenu>';
$xml .= '</article>';
}
$xml .= '</articles>';
$num_bytes = file_put_contents("example.xml", $xml);
if( $num_bytes === false ) {
// file wasn't written successfully
echo 'Error writing file';
}
else {
echo $num_bytes . ' bytes were written';
}
// Affichage
echo $xml;
?>
merci de ton aide