QCM sous Mysql,

Fermé
anaanonyme Messages postés 15 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 3 mars 2015 - Modifié par anaanonyme le 21/07/2014 à 15:31
 Delphine - 4 août 2014 à 03:56
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

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
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
3 août 2014 à 19:55
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