Extraire des données d'une base de données dans un fichier xml
Résolu
sarra1988
Messages postés
7
Statut
Membre
-
Fallentree Messages postés 2445 Statut Membre -
Fallentree Messages postés 2445 Statut Membre -
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
- Trier des données excel - Guide
- Extraire une video youtube - 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"