Page 1 sur 1

N'afficher que les valeurs de id=1 (de la XML)

Posté : 22 juin 2007, 19:45
par paricile
Bonjour ,

Ici un débutant. Je tente de monter un site de location d'appart à l'aide du trio PHP/XSL/XML.

Dans ma xml, j'ai des valeurs qui se distinguent par appartement id=1 et id=2.

Version abrégée de mon code:

XML: (location.xml)

Code : Tout sélectionner

<?xml version="1.0" encoding="ISO-8859-1"?> <location> <appartement id="1"> <nom>Arcade</nom> <etoiles>etoiles4.gif</etoiles> </appartement> <appartement id="2"> <nom>Sierra</nom> <etoiles>etoiles3.gif</etoiles> </appartement> </location>
XSLT me sert à la mise en forme. Je pourrais créer une xml/xsl par appart mais ça me semble être un chemin un peu long. Il doit bien y avoir un moyen de filtrer l'info à partir d'une seule xml?

XSL: (intro_appart.xsl)

Code : Tout sélectionner

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="ISO-8859-1"/> <xsl:template match="/"> <div class="section_nom_app"><xsl:value-of select="nom"/><img> <xsl:attribute name="src"><xsl:value-of select="etoiles"/></xsl:attribute></img> </xsl:template> </xsl:stylesheet>
En gros, j'aimerais pouvoir dire à arcade.php de n'afficher que les valeurs de id=1 et sierra.php de n'afficher que les valeurs de id=2

PHP: (arcade.php)

Code : Tout sélectionner

<?php $mm_xsl = new MM_XSLTransform(); $mm_xsl->setXML("location.xml"); $mm_xsl->setXSL("intro_appart.xsl"); echo $mm_xsl->Transform(); ?>

Merci de me renseigner par un indice svp, :roll:

Posté : 22 juin 2007, 19:51
par Cyrano
Quelle version de PHP ? Si tu utilises PHP5, as-tu songé à trier avec SimpleXML pour créer un fichier temporaire pour chacun des id possibles ?

C'est une idée que je lance en l'air comme ça, mais c'est ce que j'explorerais.

Posté : 22 juin 2007, 19:53
par paricile
Quelle version de PHP ? Si tu utilises PHP5, as-tu songé à trier avec SimpleXML pour créer un fichier temporaire pour chacun des id possibles ?
Salut, oui je suis sous PHP5. Je ne connais pas SimpleXML. Je vais faire des recherches. Je suis aussi sous Mac, je ne sais pas si ça change qqchose...

Posté : 22 juin 2007, 20:03
par Cyrano
Je suis aussi sous Mac, je ne sais pas si ça change qqchose...
À priori rien du tout.

Posté : 22 juin 2007, 20:22
par paricile
J'ai téléchargé SimpleXML mais comme je ne sais pas vraiment ce que je dois faire, je ne suis pas plus avancé. Par où commencer pour régler mon problème? Xpath? Xquery?

Serait-ce possible de me donner un indice?

Posté : 22 juin 2007, 20:25
par Cyrano
J'ai téléchargé SimpleXML ...
:shock: SimpleXML est une extension de PHP5, il n'y a rien à télécharger : voir la doc

Posté : 22 juin 2007, 21:50
par paricile
Il me semble que je suis sur la bonne voie. L'indice SimpleXML était bon.

Merci Cyrano.