Extraire des données d'une base de données dans un fichier xml

Résolu/Fermé
sarra1988 Messages postés 7 Date d'inscription samedi 23 août 2014 Statut Membre Dernière intervention 28 août 2014 - 23 août 2014 à 10:43
Fallentree Messages postés 2295 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 - 27 août 2014 à 10:53
Je suis débutante dans le développement d'une application web avec php5 et je veux extraire des données stockées dans ma base de données nommée artisanat dans un fichier xml, mais rien ne s'affiche.
Voici mon code de connexion.php:
<?php
try
{
// On se connecte à MySQL
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=artisanat', 'root', '',
$pdo_options);
$reponse = $bdd ->query('SELECT * FROM artisants where activite="tissage" ');
$dom = new DOMDocument("1.0");
$node = $dom->createElement("markers");
$parnode = $dom->appendChild($node);
// On affiche chaque entrée une à une
while ($donnees = $reponse->fetch())
{
$node = $dom->createElement("marker");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("nom", utf8_encode($donnees["nom"]));
$newnode->setAttribute("prenom", utf8_encode($donnees["prenom"]));
$newnode->setAttribute("adresse", utf8_encode($donnees["adresse"]));
$newnode->setAttribute("ville",utf8_encode($donnees["ville"]));
$newnode->setAttribute("GSM",utf8_encode($donnees["GSM"]));
$newnode->setAttribute("email",utf8_encode($donnees["email"]));
$newnode->setAttribute("activite",utf8_encode($donnees["activite"]));
$newnode->setAttribute("type-activite",utf8_encode($donnees["type-activite"]));
}
$reponse->closeCursor(); // Termine le traitement de la requête
}
catch(Exception $e)
{
// En cas d'erreur précédemment, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());
}
echo $dom->saveXML();
?>

3 réponses

sarra1988 Messages postés 7 Date d'inscription samedi 23 août 2014 Statut Membre Dernière intervention 28 août 2014 1
26 août 2014 à 15:30
Merci bien pour votre aide.
1
Fallentree Messages postés 2295 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
26 août 2014 à 15:50
c est résolu ?si oui y a un lien pour le dire en haut ...
0
sarra1988 Messages postés 7 Date d'inscription samedi 23 août 2014 Statut Membre Dernière intervention 28 août 2014 1
26 août 2014 à 22:18
oui c'est résolu merci bien pour votre aide.
0
Fallentree Messages postés 2295 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
27 août 2014 à 10:53
milles excuses mais y a une option qui vous est propre et qui vous permet de signaler comme résolu votre question !!!
PS sous l'intitulé un lien "marquer comme résolu"
0
Fallentree Messages postés 2295 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
Modifié par Fallentree le 24/08/2014 à 16:25
https://www.php.net/manual/fr/domdocument.createattribute.php


$newnode = $parnode->appendChild($node); en fin des création des attributs du noeud ??

pareil pour le noeud apres d'ajout ....
$parnode = $dom->appendChild($node); a la fin du while
0
sarra1988 Messages postés 7 Date d'inscription samedi 23 août 2014 Statut Membre Dernière intervention 28 août 2014 1
25 août 2014 à 11:25
Merci pour votre aide, mais je ne comprends où est le problème exactement.
Pouvez vous me clarifier un peu le problème?
Merci pour votre soutien.
0
Fallentree Messages postés 2295 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
25 août 2014 à 12:05
appendchild ne se fait pas après la création du noeud mais après toute les ajouts des attributs ou noeud secondaire ....
dans ton code

$node = $dom->createElement("markers");
$parnode = $dom->appendChild($node);
tu peux pas placer appendChild ici tu modifies $node par la suite
fais le apres tes modifs...
0