QCM sous Mysql,

anaanonyme Messages postés 18 Statut Membre -  
 Delphine -
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. Delphine
     
    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 ..
    1
  2. Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
     
    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.
    0