Bonjour à tous,
J'ai un petit soucis en XML!
Pour explication:
>> j'ai un fichier products.xml dans lequel j'ai 200 produits dans une dizaine de catégories différentes (ex: vetement, chaussure...)
Comme je n'ai qu'un fichier je suis obligé de poser une condition pour avoir sur ma page "vetement" que les produits dans cette catégorie.
J'ai donc pensé à ajouter dans l'URL une cat=vetment comme ceci:
produit.php?cat=vetement...
sauf que je coince car je ne sais pas comment l'intérpreter dans le code.
Voici ce que j'ai pour l'instant mais qui marche pas...
A votre avis?
Merci pour votre aide
Vincent
J'ai un petit soucis en XML!

Pour explication:
>> j'ai un fichier products.xml dans lequel j'ai 200 produits dans une dizaine de catégories différentes (ex: vetement, chaussure...)
Comme je n'ai qu'un fichier je suis obligé de poser une condition pour avoir sur ma page "vetement" que les produits dans cette catégorie.
J'ai donc pensé à ajouter dans l'URL une cat=vetment comme ceci:
produit.php?cat=vetement...
sauf que je coince car je ne sais pas comment l'intérpreter dans le code.
Voici ce que j'ai pour l'instant mais qui marche pas...
Code:
<?php
$fichier = "xml/products.xml";
function fonctionBaliseOuvrante($parseur, $nomBalise, $tableauAttributs)
{
global $derniereBaliseRencontree;
$derniereBaliseRencontree = $nomBalise;
}
function fonctionBaliseFermante($parseur, $nomBalise)
{
global $derniereBaliseRencontree;
$derniereBaliseRencontree = "";
}
function fonctionTexte($parseur, $texte)
{
global $derniereBaliseRencontree;
switch ($derniereBaliseRencontree) {
case "NAME":
if($texte!=$_GET['cat']){
exit;
}
else
{
echo "<p class='libelle'>Catégorie ".$texte."</p>";
}
break;
//case "PRODUCTTYPE":
//echo "<p class='libelle'>".$texte."</p>";
//break;
case "PRODUCT_URL":
echo "<span class='table'><span><a href='".$texte."'>";
break;
case "BIG":
echo "<img src='".$texte."' border='0'/></a></span>\n";
break;
//case "PRICE":
//echo "<p class='libelle'>".$texte." €</p>\n\n\n\n";
//break;
/*case "TEXTE_LANCEUR_COFFRET":
$max=30;
if(strlen($texte)>=$max){$texte=substr($texte,0,$max);
$espace=strrpos($texte," ");
$texte=substr($texte,0,$espace)."..."; }
echo "<p>".$texte."</p>\n";
break;*/
case "FIN":
echo "</div></div>\n\n";
break;
}
}
$parseurXML = xml_parser_create();
xml_set_element_handler($parseurXML, "fonctionBaliseOuvrante", "fonctionBaliseFermante");
xml_set_character_data_handler($parseurXML, "fonctionTexte");
$fp = fopen($fichier, "r");
if (!$fp) die("Impossible d'ouvrir le fichier XML");
while ( $ligneXML = fgets($fp, 1024)) {
xml_parse($parseurXML, $ligneXML, feof($fp)) or
die("Erreur XML");
}
xml_parser_free($parseurXML);
fclose($fp);
?>
A votre avis?
Merci pour votre aide

Vincent