Creation d un fichier xml depuis donne mysql

Fermé
audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015 - 18 sept. 2009 à 13:30
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 - 5 févr. 2010 à 16:39
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
A voir également:

12 réponses

P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 85
18 sept. 2009 à 15:43
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 :

$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é.
3
audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015 9
18 sept. 2009 à 14:45
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
1
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
19 sept. 2009 à 10:01
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 .. ;-)
1
Salut Lewis34, moi j'ai le même problème que le garçon en haut. J'ai lu ton message et j'aimerais bien, stp, avoir tes sources, si possible.

montreal_dani@hotmail.com

Merci d'avance,
DAni
0
Salut Lewis34, j'ai le meme probleme du garçon en haut.
J'aimerais bien avoir tes sources, stp. Est-ce que c'est possible?

montreal_dani@hotmail.com

Merci d'avance,
Dani
0
M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 74
18 sept. 2009 à 14:16
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015 9
18 sept. 2009 à 14:24
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
0
M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 74
18 sept. 2009 à 14:29
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.
0
audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015 9
18 sept. 2009 à 15:48
ah oui effectivement c est tres simple merci pour l exemple

Mais la le fichier ne se creer pas ou bien?

je vais tester
0
P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 85
18 sept. 2009 à 15:51
Pour enregistrer le fichier, utilise file_put_contents()

;)
0
audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015 9
18 sept. 2009 à 15:54
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
0
audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015 9
19 sept. 2009 à 09:47
up personne Merci
0
P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 85
19 sept. 2009 à 09:56
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.
0
audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015 9
19 sept. 2009 à 10:22
merci de ta reponse

J ai deja fait la recherche mais je ne sais pas quoi mettre dans la formule


int file_put_contents ( string filename , mixed data , int flags , resource context )

c est bien cela?

Pour l autre erreur je vais chercher
0
P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 85 > audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015
19 sept. 2009 à 11:28
Oui, prends en exemple les utilisations décrites dans la doc,
0
audi68 Messages postés 571 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 5 août 2015 9 > P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009
19 sept. 2009 à 11:48
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
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
5 févr. 2010 à 16:39
pas de soucis je te les envoie ce WE ;-)
0