Mon fichier XML se présente de ce style :
Code : Tout sélectionner
<sous_qcm matiere="informatique">
<question>
<libelle>Ma question gnagnia ?</libelle>
<choix score="0">Reponse 1</choix>
<choix score="0">Reponse 2</choix>
<choix score="1">Reponse 3</choix>
</question>
</sous_qcm>
Le .xsl, lui récupère les données et les traite. Mon soucis repose sur l'affichage des réponses. En effet, mon prof souhaite que en cas de mauvaise réponse choisie, on attache la bonne réponse (pour être envoyé et traitée par le PHP ensuite).
Code : Tout sélectionner
<xsl:template match="choix">
<div id="reponse">
<input type="radio" name="{count(preceding::question)+1}" value="{@score}" style="border:#999999 1px solid;" />
<em><xsl:value-of select="." /></em> valeur:<xsl:value-of select="@score" /><!-- Affiche la reponse -->
<!-- il faut attacher la bonne reponse (lettre b)en cas de mauvaise réponse -->
<xsl:if test="@score == 0">
<input type="hidden" value="b" />
</xsl:if>
</div>
</xsl:template>
Code : Tout sélectionner
<xsl:value-of select="concat('Q',count(preceding::question)+1)" />Je pense qu'il va servir dans la clause if...
Pour le PHP, voici le code pour l'instant, si ça peut aider :
<?php
$resultat = 0;
$chaine = $_SERVER["QUERY_STRING"]; //chaine recuperer
echo $chaine,'<br />'; //affichage de la chaine recuperer
foreach($_GET as $key=>$val){
//$key correspond au numero des questions
//$val correspond au point des réponses
$pc = substr($key,0,1); //recupere le 1er caractere de la chaine
if($pc == "b"){ //si le 1er caractere est b
$num = substr($key,1);
$bonneRep[$num] = $val;
}
else{
$score[$key] = $val;
}
}
echo '<hr /> Resultat score total : '.$resultat;
?>
Merci d'avance