lire , afficher et modifier XML aide

Eléphanteau du PHP | 41 Messages

01 oct. 2010, 14:34

bonjour,
j'ai une animation flash qui diffuse du contenue
elle va chercher du texte dans mon fichier xml

je souhaite une page php qui puisse editer ce fichier et que je puisse le modier
comme si cela ete un formulaire

je cherche depuis quelsque temps et je voit partout simplexml ou domxml
mais je ne comprend pas comment l'appliquer

coici mon fichier xml ( produits.xml)

Code : Tout sélectionner

<?xml version="1.0" encoding="ISO-8859-1"?> <root> <produit> <picture1>lady_ella_grand.jpg</picture1> <titre1>Lady Ella BERING</titre1> <price1>119,00</price1> <encart1>PROMO</encart1> <carac1>1 a 6</carac1> <picture2>produit2.jpg</picture2> <titre2>Eight Jacket RACER </titre2> <price2>290,00</price2> <encart2>PROMO</encart2> <carac2>L au XXL</carac2> <picture3>FRESNO-1.jpg</picture3> <titre3>Bering Fresno</titre3> <price3>77,01</price3> <encart3>PROMO</encart3> <carac3>M au XL</carac3> </produit> </root>
quelqu'un pourrais m'aider please
merci a tous

ViPHP
ViPHP | 3607 Messages

01 oct. 2010, 23:57

Commence déjà par essayer de récupérer une valeur ou une autre avec simplexml...

Voici pour le manuel: http://fr2.php.net/manual/fr/simplexml. ... -basic.php

ViPHP
ViPHP | 5462 Messages

02 oct. 2010, 00:19


Eléphanteau du PHP | 41 Messages

02 oct. 2010, 00:53

au secour

bon d'apres ce que j'ai lu est testé j'ai changé le code de mon xml

le voici :

Code : Tout sélectionner

<?xml version="1.0" encoding="ISO-8859-1"?> <produits> <num id="1"> <produit>Produit n°1</produit> <picture>grand.jpg</picture> <titre>Lady Ella BERING ezrgzer gzer gze rg zae</titre> <price>119,00</price> <encart>PROMO</encart> <carac>1 a 6</carac> </num> <num id="2"> <produit>Produit n°2</produit> <picture>produit2.jpg</picture> <titre>Eight Jacket RACER </titre> <price>290,00</price> <encart>velo</encart> <carac> L au XXL</carac> </num> </produits>
j'arrive a rien

quel code php me permet d'afficher si je choisi dans un menu deroulant le neud picture il apparait en dessous le contenu des autre basile correspondantes que je peut modifier puis enregistrer sur ce meme fichier xml

merci

ViPHP
ViPHP | 3607 Messages

02 oct. 2010, 08:44

Commence déjà par essayer de récupérer une valeur ou une autre avec simplexml...

Voici pour le manuel: http://fr2.php.net/manual/fr/simplexml. ... -basic.php

Eléphanteau du PHP | 41 Messages

02 oct. 2010, 14:46

bonjour tlm
suite de mes deboire
j'ai fait le code suivant

xml

Code : Tout sélectionner

<?xml version="1.0" encoding="ISO-8859-1"?> <produits> <num id="1"> <produit>Produit n°1</produit> <picture>grand.jpg</picture> <titre>Lady Ella BERING ezrgzer gzer gze rg zae</titre> <price>119,00</price> <encart>PROMO</encart> <carac>1 a 6</carac> </num> <num id="2"> <produit>Produit n°2</produit> <picture>produit2.jpg</picture> <titre>Eight Jacket RACER </titre> <price>290,00</price> <encart>velo</encart> <carac> L au XXL</carac> </num> </produits>
mon xsl :

Code : Tout sélectionner

<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:param name="id"/> <xsl:template match="/"> <span> Quel produit <br/> <select size="1" name="produit" onchange="document.forms[&apos;chgnom&apos;].submit();"> <option> <xsl:if test="$id = &apos;&apos;"> <xsl:attribute name="selected">selected</xsl:attribute> </xsl:if> </option> <xsl:apply-templates select="produits/num"/> </select> <xsl:if test="$id != &apos;&apos;"> <br/> Lien de l'image : <br/> <input name="picture " type="text"> <xsl:attribute name="value"> <xsl:value-of select="produits/num[@id = $id]/picture"/> </xsl:attribute> </input> <br/> Nom du produit : <br/> <input name="titre" type="text"> <xsl:attribute name="value"> <xsl:value-of select="produits/num[@id = $id]/titre"/> </xsl:attribute> </input> <br/> Prix : <br/> <input name="price " type="text"> <xsl:attribute name="value"> <xsl:value-of select="produits/num[@id = $id]/price"/> </xsl:attribute> </input> <br/> Texte Choc : <br/> <input name="encart " type="text"> <xsl:attribute name="value"> <xsl:value-of select="produits/num[@id = $id]/encart"/> </xsl:attribute> </input> <br/> Caracteristique du produit : <br/> <input name="carac " type="text"> <xsl:attribute name="value"> <xsl:value-of select="produits/num[@id = $id]/carac"/> </xsl:attribute> </input> </xsl:if> </span> </xsl:template> <xsl:template match="num"> <option> <xsl:if test="@id = $id"> <xsl:attribute name="selected">selected</xsl:attribute> </xsl:if> <xsl:attribute name="value"> <xsl:value-of select="@id"/> </xsl:attribute> <xsl:value-of select="produit"/> </option> </xsl:template> </xsl:stylesheet>
mon php :

Code : Tout sélectionner

<?php print "<form action=\"" ; print($_SERVER['PHP_SELF']) ; print "\" method=\"post\" id=\"chgnom\">" ; $id = $_POST['produit']; /* load the xml file and stylesheet as domdocuments */ $xsl = new DomDocument(); $xsl->load('produit.xsl'); $inputdom = new DomDocument(); $inputdom->load('produit.xml'); /* create the processor and import the stylesheet */ $proc = new XsltProcessor(); $xsl = $proc->importStylesheet($xsl); /* create param */ $proc->setParameter(null, "id", $id); /* transform and output the xml document */ $newdom = $proc->transformToDoc($inputdom); print $newdom->saveXML(); print "</form>" ; ?>
ce code est du bricolage
quelqu'un pourrais m'aider pour mettre un bouton enregistrer qui modifierai le xml??
merci de vos reponse

Eléphanteau du PHP | 41 Messages

02 oct. 2010, 14:47

a oui
vous pouvez voir le resultat sur

http://xxxxxxxx.com/test/produit.php