QCM sous Mysql,

Bonjour,

je veux creer un qcm avec php en utulisant les deux tables Reponses(id_question,id_reponse) ET reponse_juste (id_question,num_reponse,lib_question)pour la correction et pour donner le score

voila mon code mais ça ne fonctionne pas;

<html>
<head> <title> sans nom</title> </head>
<body>
<?php
$cpt=0;
$idcon = mysql_connect("localhost","root","");
$idbd = mysql_select_db("QCM");
$req1="update reponses
set id_reponse='".$_POST['R1']."'
where id_question=1";
mysql_query($req1,$idcon);
$req2="update reponses
set
id_reponse='".$_POST['R2']."'
where id_question=2";
mysql_query($req2,$idcon);
$req3="update reponses
set
id_reponse='".$_POST['R3']."'
where id_question=3";
mysql_query($req3,$idcon);

$requete1="select num_reponse from reponse_juste where(id_question=1)";
$resultat1=mysql_query($requete1,$idcon);
$requete2="selecte id_reponse from reponses where(id_question=1)";
$resultat2=mysql_query($requete2,$idcon);
if($resultat1==$resultat2)
$cpt++;
echo "$cpt";

?>
</body>
</html>

2 réponses

  1. Bonjour,
    - Premièrement, dire "ça ne fonctionne pas" c'est trop léger, aucun message d'erreur ? Quesqu'y ne fonctionne pas exactement (Tu a 3 update et un if, tu devrait savoir où ça coince.)
    - Deuxièmement ton code n'a aucun commentaire, dure de le relire.
    - Troisièmement ceci :
    $resultat1=mysql_query();
    retourne un jeu de résultat, tu ne peut pas tester si il sont égaux comme cela, tu doit d'abord les parser et vérifier la bonne colonne.
    1. Bonjour,

      je propose cette solution pour avoir le score des participants au QCM

      1)Tu poses la question 1 ? <br/>
      <input type="radio" id="radio1a" name="radio1" value="1" checked /> Reponse1<br/>
      <input type="radio" id="radio1b" name="radio1" value="0" /> Reponse2<br/>
      <input type="radio" id="radio1c" name="radio1" value="0" /> Reponse2<br/>

      2)Question 2 <br/>
      <input type="radio" id="radio2a" name="radio2" value="0" checked /> Reponse1<br/>
      <input type="radio" id="radio2b" name="radio2" value="1" /> Reponse2<br/>
      <input type="radio" id="radio2c" name="radio2" value="0" /> Reponse3<br/>

      NB à value il faut mettre 1 pour la bonne réponse

      A la page où il y a la requête sql] INSERT INTO
      <?php $radio1 = $_REQUEST["radio1"]; ?>
      <?php $radio2 = $_REQUEST["radio2"]; ?>
      ...

      INSERT INTO quiz (id_quiz, q1, q2 , ...)
      VALUES (NULL, '$radio1' , '$radio2', ...);";

      Pour avoir la note, il faut faire un SUM(radio1, radio2, .....) FROM WHERE ..