Votre question

Qcm à points ...

Tags :
  • Programmation
Dernière réponse : dans Programmation
11 Juillet 2008 15:45:19

Bonjour, je souhaiterai réaliser le plus simplement posible un qcm avec des cases à cocher, et chaqu'une des cases rapporte 0,1,2 ou 3 points, la personne qui le fait entre son pseudo et un classement est fait à la fin en affichant simplement 3 colones : n°/pseudo/points.

Je sait que je vai devoir faire appel notaement au PHP, je peut me débrouiller mais j'ai besoin de quelque pistes pour commencer car je ne sait pas du tout comment m'y prendre.

Merci.

Autres pages sur : qcm points

a b L Programmation
11 Juillet 2008 20:11:32

salut
Personnellement je n'est jamais fais ce genre de chose
Mais je pense qu'avec nos deux cerveau on devrais ce débrouiller

vite fais comme sa , je dire ma solution ( qui n'est peut être pas la bonne , mais si un pro passe ici , juste qu'il nous aide et nous donne pas le code dessuite si non on va rien apprendre ^^ )


donc je ferais un formulaire , avec des checkbox et chaque cher box a pour valeur le nombre de point quel doit rapporter ( ^^ complexe a dire )
ensuite on mais tous les résultat dans un variable , puis on fais une addition ( une boucle )
et on envoi tous sa dans une table mysql !
11 Juillet 2008 22:52:59

oué en fait à chaque check box coché ou non il faut qu'elle envoi dans la base de donnée un 0, 1, 2 ou 3 et que cela se contabilise, j'ai bien en tete le principe maintenant, et je vai me pencher sur le code php :D 
Contenus similaires
11 Juillet 2008 23:58:48

Il te faudra php, pour enregistrer la valeur de ton formulaire, de plus le site du zero vous apprend très bien à faire des formulaires ;) .
@+
a b L Programmation
12 Juillet 2008 18:44:57

alors je viens de re-penser au problème !

donc déjà il ne faux pas envoyer les résulta du Qcm dans une base ( les 0,1,2 ou 3 ) mais les additionner comme sa on évite d'encombrer une table pour rien , on envois le résulta final seulement !

ensuite je on devrais utiliser des ration a la place des checkbox , car si non , il suffie de tous cocher , et hop on a le max de point pasque l'on gagner 6 point par question ( 1+2+3+0=6)
alors que avec les ration on envoi soit 1 , 2 ,3 ou 0 !!

je pense que le code devrais tenir sur 3 page ( plus 1 avec les id de connections a BDD =) )
- le formulaire
- le calcule des résulta + envoi sur la BDD
- L'affichage
- la connections

je vais tester la technique que j'ai en tête et je reviens poster les resulta

12 Juillet 2008 18:59:17

non en fait j'ai mal expliquer la chose.

On à à chaque ligne, une question avec une checkbox. Et on coche ou pas !

Mais celui qui le fait ne voi pas le nombre de points, il s'en fout !

Moi à chaque checkbox, si il ne la coche pas il gagne 0, sinon un 1, 2, ou 3 mais ça il ne le voi pas.

Je me suis mal exprimer c'est pas vraiment un QCM en fait !

J'èspère que tu n'aura pas travailler pour rien.

Merci encor.
a b L Programmation
12 Juillet 2008 19:12:37

Bon sa devrais ressembler a sa :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form action="2.php" method="post">
<p>
Ici la premier question :<br />
<input name="a" type="radio" value="0" /> 0 point <br />
<input name="a" type="radio" value="1" /> 1 point <br />
<input name="a" type="radio" value="2" /> 2 point <br />
<input name="a" type="radio" value="3" /> 3 point <br />
</p>
<p>
Ici la deuxieme question :<br />
<input name="b" type="radio" value="0" /> 0 point <br />
<input name="b" type="radio" value="1" /> 1 point <br />
<input name="b" type="radio" value="2" /> 2 point <br />
<input name="b" type="radio" value="3" /> 3 point <br />
</p>
<p>
Ici la troisieme question :<br />
<input name="c" type="radio" value="0" /> 0 point <br />
<input name="c" type="radio" value="1" /> 1 point <br />
<input name="c" type="radio" value="2" /> 2 point <br />
<input name="c" type="radio" value="3" /> 3 point <br />
</p>
<input type="submit" value="Valider" />
</form>
</body>
</html>


et :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<?php

$a = $_POST['a'];
$b = $_POST['b'];
$c = $_POST['c'];

$total= $a + $b + $c ;
echo $a ;
echo $b ;
echo $c ;
echo $total ;

?>
</body>
</html>


mais sa marche pas -_-"
12 Juillet 2008 19:58:43

à value il faut pas mettre de guillemets (si cela est possible biensur), parce que je pense que pour mr php c'est du texte ....
12 Juillet 2008 20:12:52

C'est bon ! Grace à ton exemple, car je ne m'entend pas trop avec les parties de formulaires en htm non plus^^

J'ai réussi à faireun petit truque qui fonctionne :

  1. <body>
  2. <form action="2.php" method="post">
  3. <p>
  4. Ici la première question :<br />
  5. <input name="a" type="radio" value=2 />
  6.  
  7. </p>
  8. <p>
  9. Ici la deuxieme question :<br />
  10. <input name="b" type="radio" value=3 />
  11.  
  12. </p>
  13.  
  14. <input type="submit" value="Valider" />


  1. <?php
  2.  
  3. $points_a = $_POST['a'];
  4. $points_b = $_POST['b'];
  5.  
  6. $total = $points_a + $points_b;
  7.  
  8. echo $total;
  9.  
  10. ?>


Maintenant cela reste à améliorer, mais la base fonctionne !
a b L Programmation
13 Juillet 2008 01:02:49

oui cela est possible !

si non reparlons de ton formulaire .

C'est une question avec plusieurs réponse
mais on peut choisir qu'une solution
ou
C'est une question avec plusieurs réponse
mais il on peut choisir plusieur solutions

ensuite , on va afficher quoi sur la page des résulta ?
un tableau avec la position et pseudo et le nombre de point obtenue ?
13 Juillet 2008 11:01:41

en fait c'est bon j'ai tout fini, voila pour toi ça sera plus clair :
Pour le moment les questions ne sont pas faites ...et elles raportent toutes 1 points en fait ...et c'est ensuite la valeur que je changerai...
  1. <?php
  2.  
  3. // CONNECTION
  4.  
  5. mysql_connect("localhost", "root", "");
  6. mysql_select_db("questionnaire");
  7.  
  8.  
  9. if($_POST['pseudo'] != NULL)
  10. {
  11.  
  12. $points_question1 = $_POST['question1'];
  13. $points_question2 = $_POST['question2'];
  14. $points_question3 = $_POST['question3'];
  15. $points_question4 = $_POST['question4'];
  16. $points_question5 = $_POST['question5'];
  17. $points_question6 = $_POST['question6'];
  18. $points_question7 = $_POST['question7'];
  19. $points_question8 = $_POST['question8'];
  20. $points_question9 = $_POST['question9'];
  21.  
  22. $pseudo = $_POST['pseudo'];
  23.  
  24. $total = $points_question1 + $points_question2 + $points_question3+ $points_question4 + $points_question5 + $points_question6 + $points_question7 + $points_question8 +$points_question9;
  25.  
  26. $reponse = mysql_query("SELECT * FROM points");
  27.  
  28. $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
  29.  
  30. mysql_query("INSERT INTO points VALUES('', '$pseudo', '$total')");
  31. ?>
  32.  
  33. <p>
  34. Points pour : <?php echo $pseudo; ?> : <?php echo$total; ?><br>
  35.  
  36. <a href="index.php">Retour</a><br />
  37.  
  38.  
  39. </p>
  40.  
  41. <?php
  42.  
  43. }
  44. else
  45. {
  46.  
  47. ?>
  48.  
  49. <form method="post">
  50.  
  51. <p>
  52.  
  53. Cochez la case si cela vous correspond :<br>
  54.  
  55.  
  56. <input name="question1" type="radio" value=1 /> texte Question 1<br>
  57. <input name="question2" type="radio" value=1 /> texte Question 2<br>
  58. <input name="question3" type="radio" value=1 /> texte Question 3<br>
  59. <input name="question4" type="radio" value=1 /> texte Question 4<br>
  60. <input name="question5" type="radio" value=1 /> texte Question 5<br>
  61. <input name="question6" type="radio" value=1 /> texte Question 6<br>
  62. <input name="question7" type="radio" value=1 /> texte Question 7<br>
  63. <input name="question8" type="radio" value=1 /> texte Question 8<br>
  64. <input name="question9" type="radio" value=1 /> texte Question 9<br>
  65.  
  66. </p>
  67.  
  68. Pseudo :
  69.  
  70. <input name="pseudo" type="text" value="" />
  71.  
  72. <input type="submit" value="Valider" /><br><br>
  73.  
  74. </form>
  75.  
  76. <strong>"Classement" :</strong><br><br>
  77.  
  78.  
  79. <?php
  80. $reponse = mysql_query("SELECT * FROM points ORDER BY points DESC");
  81.  
  82. while ($donnees = mysql_fetch_array($reponse) )
  83. {
  84. ?>
  85.  
  86. Pseudo : <?php echo $donnees['Pseudo'];?> <br>
  87. Points : <?php echo $donnees['Points'];?> <br><br>
  88.  
  89. <?php
  90. }
  91.  
  92. mysql_close(); // Déconnexion de MySQL
  93.  
  94. }
  95. ?>


Et pour la bdd :

CREATE TABLE `points` (
`id` mediumint(9) NOT NULL auto_increment,
`Pseudo` text NOT NULL,
`Points` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Si tu le fait tu comprendra mieux.
13 Juillet 2008 11:02:47

eu aussi la base doit s'appeler "questionnaire"
13 Juillet 2008 12:53:44

Etes vous sur que d'utiliser les boutons de type "radio" est une bonne idée?
13 Juillet 2008 15:42:17

pourquoi ? c'est quoi le problème ?

Moi j'ai pris ça parce que c'était dans le premier exemeple de andrelec1 ...

Sinon je met checkbox ...

PS : je voi que y'en à qui se sont éclater :D 
a b L Programmation
14 Juillet 2008 10:22:31

enfin , moi j'ai mie des radio pasque je je voyer pas le questionnaire comme sa !
mais avec ce type de questionnaire vos mieux mettre des checkbox

Omg , ton questionnaire ma fais peur !
j'ai fais 85 ! est sans tricher ...

moi je change de siege pasque j'ai mal au cul !
et je passe plus de 16 heure par jours devant mon pc , et souvant les weekend je fais non stop ^^
Les volet c'est 1 fois par mois
est les pause avec les yeux a moiter ouvert sur le bureau de windows sans rien faire m'arrive fréquemment , surtout le matin a 10h quand je reviens d'un camping sauvage organisée avec des pote 10 minute avant sur wow ( comme c'est le cas actuellement, et en plus ya fais froit toute la nuits )
Contenus similaires
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS