Bonjour à tous !!!
Le titre est trés mal choisi, mais j'ai du mal a définir mon probléme (et donc à en trouver une solution ^^)
Alors voila, j'ai voulu faire un systeme d'affichage de news passant par le couple xml / xsl : le PHP redige le xml, qui est ensuite traité avec le xsl.
Cela fonctionne presque à un détail prés, rendant tout le code inutilisable : au lieu de "lister" et de repeter seulement les news, le xsl repete toute la page a chaque news.
Voici mon code :
Si quelqu'un pouvait m'expliquer ce qui deconne et que faire pour y remedier, ca serait trés gentil
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="index/News"> <html> <head> <title>Exemple de sortie HTML</title> <link rel="alternate" type="application/rss+xml" title="Test flux RSS" href="fluxrss.xml" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <div id="News"> <h3> <!--Garder les liens sous cette forme, cela permet d'acceder a la news de maniere individuel --> <a href="news.php?news_id={id-news}"> <xsl:copy-of select="Titre"/> </a> <em> date : <xsl:copy-of select="Date"/> </em> </h3> <p> Description : <xsl:copy-of select="Description" /> </p> Contenu : <xsl:copy-of select="Contenu"/> </div> </body> </html></xsl:template> </xsl:stylesheet>
EDIT :
Dans le doute, j'ajoute le code du php qui genere mon xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <?php header("Content-Type: text/xml"); echo "<?xml version='1.0' encoding=\"iso-8859-1\"?>"; echo "<?xml-stylesheet type=\"text/xsl\" href=\"indexnews.xsl\"?>"; echo "<index>"; mysql_connect("localhost", "****", "****"); mysql_select_db("*****"); $reponse = mysql_query('SELECT * FROM ***** WHERE validation = 1 ORDER BY id DESC LIMIT 0, 10 '); while ($donnees = mysql_fetch_array($reponse) ) { echo "<News>"; echo "<id-news>" . $donnees['id'] . " </id-news>"; echo "<Titre>" . stripslashes($donnees['titre']) . "</Titre>"; echo "<Date>" . date('d-m-Y', $donnees['date']) . "</Date>"; echo "<Description>" . stripslashes($donnees['description']) . "</Description>"; echo "<Contenu>" . stripslashes($donnees['contenu']) . "</Contenu>"; echo "</News>"; } echo "</index>"; mysql_close(); ?>
Partager