|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() Étudiant Inscription : janvier 2008 Messages : 144 ![]() |
Bonsoir,
Mon problème est le suivant : Pour un site web je dois réaliser une page concernant des articles de presse. Je n'ai aucune base de données, c'est pour cela que j'ai pensé à xml. En gros, mes articles seront regroupés par date de parution (le mois), exemple Avril 2008, Mars 2008 etc.. J'ai pensé à un fichier xml de cette forme là : Code XML :
Ensuite, comment modifier ce xml dans une partie d'administration pour permettre l'ajout d'un article, d'une date etc.... Merci d'avance pour vos réponses |
||
|
|
00
|
|
|
#3 | ||
|
Membre habitué
![]() Étudiant Inscription : janvier 2008 Messages : 144 ![]() |
Après plusieurs essai, la manipulation de SimpleXML est relativement simple.
Cependant je me permet de soulever un autre problème. Voici donc mon fichier xml de base que j'ai décider de retenir : Code :
Mais lors de l'ajout d'un article, j'ai besoin de récupérer le 'parent' du nouvel article. Je pense parcourir le fichier xml, récupérer toutes les dates existantes et les mettre dans un select. Ensuite lors de la soumission du formulaire, je voudrais récupérer le noeud correspondant. Exemple (avec le fichier de base) : Dans mon formulaire, je sélectionne "Avril 2008". Lors de la soumission du formulaire, je récupère donc en POST la chaine "Avril 2008". Comment faire pour récupérer directement le noeud correspondant à la date pour ensuite faire un addChild('article') ? Merci d'avance |
||
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Inscription : mai 2007 Messages : 113 ![]() |
Alors pour ajouter un noeud de type article il faut que tu parcours tout le fichier et que tu mets toutes les dates dans le select mais la technique consiste à passer l'indice en post.
Soit ton fichier XML test.xml <medialist> <date value="Avril 2008"> <article href="leLien" target="laCible" texte="leTexte" /> </date> <date value="Mars 2008"></medialist><article href="leLien" target="laCible" texte="leTexte" /></date> imagine ton arbre (xml) comme un tableau à plusieurs dimensions. tu construis ton select comme cela <select .....> <option value="0">Avril 2008</option> <option value="1">Mars 2008</option> ......... </select> et ensuite dans ton script php tu peux faire un truc du genre $xml = simplexml_load_file('test.xml'); $article = $xml->date[0]->addChild('article'); $article->addAttribute('href', 'leLien'); $article->addAttribute('target', 'laCible'); $article->addAttribute('texte', 'leTexte'); sachant que le '0' correspond à l'endroit où tu veux inserer soit Avril 2008 on n'oubliera pas de sauvegarder $xml->asXML('test.xml'); et le tour est joué Bye Max
__________________
Faut faire l'ane pour avoir de l'avoine |
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Étudiant Inscription : janvier 2008 Messages : 144 ![]() |
Merci pour tout, finalement, j'ai du changer la structure du fichier étant donné que je doit utiliser des caractères spéciaux mais le problème est entièrement résolu.
Merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com