Page 1 sur 2

creation code php avec simplexml

Posté : 01 oct. 2010, 13:44
par sknano
bonjour a tous
je ne comprend absolument rien a simplexml
apres plus d'une semaine de travail dessus je ne comprend toujours pas la logique
voici mon projet
j'ai un fichier xml qui est lu par un fichier flash
jusque la rien de formidable
je souhaite a travers une sorte de formulaire php pour modifier les champs a l'interieur pour que cela modifie directement mon flash

Bon la c'est la ou j'ai honte :oops: :oops: :oops:

.............. quelqu'un pourrais me rediger le code php .................

voilci mon xml :

<?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>

merci de vos reponses

Re: creation code php avec simplexml

Posté : 01 oct. 2010, 13:57
par stealth35
et t'as fais quoi pour le moment ?

Re: creation code php avec simplexml

Posté : 01 oct. 2010, 14:03
par sknano
rien
je recommence a zero toutes les heures car ca marche pas

Re: creation code php avec simplexml

Posté : 01 oct. 2010, 14:04
par stealth35
le dernier truc que t'as essayes c'est quoi ?

Re: creation code php avec simplexml

Posté : 01 oct. 2010, 14:08
par sknano
je suis sur des exemples que je trouve sur les forum et j'assaye de me les approprier
mais ca ne marche j'amais
j'ai toujours des warning sur mes page

Re: creation code php avec simplexml

Posté : 01 oct. 2010, 14:11
par stealth35
montre :wink:

Re: creation code php avec simplexml

Posté : 01 oct. 2010, 14:15
par sknano
alors la je suis sur du php+ajax+xml
lol

voici les codes sources :

xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<personnes>
<personne id="1">
<nom>DUJNOUX</nom>
<prenom>Paul</prenom>
<age>18</age>
</personne>
<personne id="2">
<nom>BATTONDCHAISE</nom>
<prenom>Jérôme</prenom>
<age>34</age>
</personne>
</personnes>

xsl :

<?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> Nom <br/>
<select size="1" name="nom"
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="personnes/personne"/>
</select>
<xsl:if test="$id != &apos;&apos;">
<br/> Prénom : <br/>
<input name="prénom " type="text">
<xsl:attribute name="value">
<xsl:value-of select="personnes/personne[@id = $id]/prenom"/>
</xsl:attribute>
</input>
<br/> Age : <br/>
<input name="age" type="text">
<xsl:attribute name="value">
<xsl:value-of select="personnes/personne[@id = $id]/age"/>
</xsl:attribute>
</input>
</xsl:if>
</span>
</xsl:template>
<xsl:template match="personne">
<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="nom"/>
</option>
</xsl:template>
</xsl:stylesheet>



et php

<?
print "<form action=\"" ;

print($_SERVER['PHP_SELF']) ;

print "\" method=\"post\" id=\"chgnom\">" ;



$id = $_POST['nom'];

/* load the xml file and stylesheet as domdocuments */

$xsl = new DomDocument();

$xsl->load('personnes.xsl');

$inputdom = new DomDocument();

$inputdom->load('personnes.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>" ;

?>

voila
:( :( :( :(

Re: creation code php avec simplexml

Posté : 01 oct. 2010, 14:34
par stealth35
qu'est ce qui marche pas ducoup la dedans ?
par contre pour les balise php c'est <?php ?> et pas <? ?>

Re: creation code php avec simplexml

Posté : 01 oct. 2010, 14:35
par sknano
merci de t'occuper de moi

voila ce que ie affiche

Warning: DOMDocument::load() [domdocument.load]: error parsing attribute name in /homez.342/senimedi/www/test/personnes.xsl, line: 5 in /homez.342/senimedi/www/test/personnes.php on line 16

Warning: DOMDocument::load() [domdocument.load]: attributes construct error in /homez.342/senimedi/www/test/personnes.xsl, line: 5 in /homez.342/senimedi/www/test/personnes.php on line 16

Warning: DOMDocument::load() [domdocument.load]: Couldn't find end of Start Tag template line 4 in /homez.342/senimedi/www/test/personnes.xsl, line: 5 in /homez.342/senimedi/www/test/personnes.php on line 16

Warning: DOMDocument::load() [domdocument.load]: Opening and ending tag mismatch: stylesheet line 2 and template in /homez.342/senimedi/www/test/personnes.xsl, line: 30 in /homez.342/senimedi/www/test/personnes.php on line 16

Warning: DOMDocument::load() [domdocument.load]: Extra content at the end of the document in /homez.342/senimedi/www/test/personnes.xsl, line: 31 in /homez.342/senimedi/www/test/personnes.php on line 16

Warning: XSLTProcessor::importStylesheet() [xsltprocessor.importstylesheet]: compilation error in /homez.342/senimedi/www/test/personnes.php on line 26

Warning: XSLTProcessor::importStylesheet() [xsltprocessor.importstylesheet]: xsltParseStylesheetProcess : empty stylesheet in /homez.342/senimedi/www/test/personnes.php on line 26
DUJNOUX Paul 18 BATTONDCHAISE Jérôme 34

Re: creation code php avec simplexml

Posté : 01 oct. 2010, 14:44
par stealth35
ton xsl contient des fautes c'est pour ca

Re: creation code php avec simplexml

Posté : 01 oct. 2010, 14:50
par sknano
comment vous faites pour comprendre ces codes

c'est pour ca que je te disais que je recommancais a chaque fois
je ne sais ni les corrige si les modifier

je ne trouve pas d'exemple comme je veut

mon fichier xml
une page php qui permet de selectionner le premier noeud , afficher les caracteristique des autres champs que je pourrais modifier pour mettre a jour mon flash
tu voit ou je pourrais trouver ca

Re: creation code php avec simplexml

Posté : 01 oct. 2010, 14:51
par stealth35
je comprend bien ce que tu veux faire, c'est un formulaire en fonction de ton xml, ou tu peux modifier les valeurs c'est ca ?

Re: creation code php avec simplexml

Posté : 01 oct. 2010, 14:57
par stealth35
ligne 4 de ton xsl, t'as oublier un > : <xsl:template match="/">

Re: creation code php avec simplexml

Posté : 01 oct. 2010, 15:08
par sknano
merci ca a effectivement corrige le probleme

tu saurai toi comment je pourrais faire lorsque je modie les case prenom ou nom que ca ecrive dans le xml

voici le lien ou tu peut voir le resultat

http://xxxxxxxxx.com/test/personnes.php

merci

Re: creation code php avec simplexml

Posté : 01 oct. 2010, 15:12
par AoSiX
L'idéal n'est pas un bouton ? Je ne pense pas que de la modification en temps réel soit le top...

Pour la sauvegarde sinon : http://php.net/manual/fr/domdocument.save.php