Pages : 1
#1 Le 09/03/2008, à 13:59
- BaLiSTiK
Projet XML/XSLT/PHP
Pour un projet de la fac, j ai un questionnaire XML/XSLT/PHP à faire et éprouve quelques difficultés, notamment en XSLT dans un premier temps, et PHP dans un 2nd temps.
Mon fichier XML se présente de ce style :
<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>
Donc comme on peut le voir, une bonne réponse vaut 1 et une mauvaise réponse 0. Le .xml ne pose aucun soucis.
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).
<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>
Le probleme réside dans le <xsl:if>. Je ne sais pas trop comment l'attacher. De plus, j ai dans mon code un
<xsl:value-of select="concat('Q',count(preceding::question)+1)" />
mais je sais pas quoi en faire, je l'ai pris au tableau...
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;
?>
ps : j ai posté ce message sur le forum de PHPFRance hier mais je n'ai toujours pas eu de réponses, donc j'essaie ici.
Merci d'avance
Mon site perso : www.fonfonland.fr
"On ne fait pas de copinage avec le gratin musical, préférant de loin vendre moins mais garder l'impact d'une balle..." - Shouta Babylone
Hors ligne
#2 Le 09/03/2008, à 20:34
- BaLiSTiK
Re : Projet XML/XSLT/PHP
up ?
Personne n'aurait une idée ?
Mon site perso : www.fonfonland.fr
"On ne fait pas de copinage avec le gratin musical, préférant de loin vendre moins mais garder l'impact d'une balle..." - Shouta Babylone
Hors ligne
Pages : 1