Extraire des données d'une base de données dans un fichier xml
Résolu
sarra1988
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
Fallentree Messages postés 2309 Date d'inscription Statut Membre Dernière intervention -
Fallentree Messages postés 2309 Date d'inscription Statut Membre Dernière intervention -
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();
?>
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();
?>
A voir également:
- Extraire des données d'une base de données dans un fichier xml
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Extraire une video youtube - Guide
- Trier des données excel - Guide
3 réponses
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
$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
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.
Pouvez vous me clarifier un peu le problème?
Merci pour votre soutien.
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
fais le apres tes modifs...
dans ton code
tu peux pas placer appendChild ici tu modifies $node par la suite
$node = $dom->createElement("markers");
$parnode = $dom->appendChild($node);
fais le apres tes modifs...
PS sous l'intitulé un lien "marquer comme résolu"