creation code php avec simplexml

Eléphanteau du PHP | 41 Messages

01 oct. 2010, 13:44

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

ViPHP
ViPHP | 5462 Messages

01 oct. 2010, 13:57

et t'as fais quoi pour le moment ?

Eléphanteau du PHP | 41 Messages

01 oct. 2010, 14:03

rien
je recommence a zero toutes les heures car ca marche pas

ViPHP
ViPHP | 5462 Messages

01 oct. 2010, 14:04

le dernier truc que t'as essayes c'est quoi ?

Eléphanteau du PHP | 41 Messages

01 oct. 2010, 14:08

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

ViPHP
ViPHP | 5462 Messages

01 oct. 2010, 14:11

montre :wink:

Eléphanteau du PHP | 41 Messages

01 oct. 2010, 14:15

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
:( :( :( :(

ViPHP
ViPHP | 5462 Messages

01 oct. 2010, 14:34

qu'est ce qui marche pas ducoup la dedans ?
par contre pour les balise php c'est <?php ?> et pas <? ?>

Eléphanteau du PHP | 41 Messages

01 oct. 2010, 14:35

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

ViPHP
ViPHP | 5462 Messages

01 oct. 2010, 14:44

ton xsl contient des fautes c'est pour ca

Eléphanteau du PHP | 41 Messages

01 oct. 2010, 14:50

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

ViPHP
ViPHP | 5462 Messages

01 oct. 2010, 14:51

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 ?

ViPHP
ViPHP | 5462 Messages

01 oct. 2010, 14:57

ligne 4 de ton xsl, t'as oublier un > : <xsl:template match="/">

Eléphanteau du PHP | 41 Messages

01 oct. 2010, 15:08

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
Modifié en dernier par sknano le 01 déc. 2010, 10:54, modifié 1 fois.

Eléphant du PHP | 314 Messages

01 oct. 2010, 15:12

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
Modifié en dernier par AoSiX le 01 oct. 2010, 15:15, modifié 1 fois.
Cordialement,
Julien - http://laravel.fr/