Tom's Guide > Forum > Programmation > Qcm à points ...
Mot :    Pseudo :           
 

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.

------------------------------ http://lechat2k5.free.fr/qgev/ :D
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

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 !

------------------------------ XD --> peut aussi se dessiner --> XP
Microsoft se fout-il pas ne notre tete avec son XP ???
Répondre à andrelec1

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

Répondre à canaillou2k5

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 ;).
@+

Répondre à St3fff

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

------------------------------ XD --> peut aussi se dessiner --> XP
Microsoft se fout-il pas ne notre tete avec son XP ???
Répondre à andrelec1

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.


Message édité par canaillou2k5 le 12-07-2008 à 19:00:05
Répondre à canaillou2k5

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 -_-"

------------------------------ XD --> peut aussi se dessiner --> XP
Microsoft se fout-il pas ne notre tete avec son XP ???
Répondre à andrelec1

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

Répondre à canaillou2k5

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 :

Code :
  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. </p>
  7. <p>
  8. Ici la deuxieme question :<br />
  9. <input name="b" type="radio" value=3 />
  10. </p>
  11. <input type="submit" value="Valider" />



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



Maintenant cela reste à améliorer, mais la base fonctionne !

Répondre à canaillou2k5

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 ?

------------------------------ XD --> peut aussi se dessiner --> XP
Microsoft se fout-il pas ne notre tete avec son XP ???
Répondre à andrelec1

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...

Code :
  1. <?php
  2. // CONNECTION
  3. mysql_connect("localhost", "root", "" );
  4. mysql_select_db("questionnaire" );
  5. if($_POST['pseudo'] != NULL)
  6. {
  7.  
  8. $points_question1 = $_POST['question1'];
  9. $points_question2 = $_POST['question2'];
  10. $points_question3 = $_POST['question3'];
  11. $points_question4 = $_POST['question4'];
  12. $points_question5 = $_POST['question5'];
  13. $points_question6 = $_POST['question6'];
  14. $points_question7 = $_POST['question7'];
  15. $points_question8 = $_POST['question8'];
  16. $points_question9 = $_POST['question9'];
  17. $pseudo = $_POST['pseudo'];
  18. $total = $points_question1 + $points_question2 + $points_question3+ $points_question4 + $points_question5 + $points_question6 + $points_question7 + $points_question8 +$points_question9;
  19. $reponse = mysql_query("SELECT * FROM points" );
  20. $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
  21. mysql_query("INSERT INTO points VALUES('', '$pseudo', '$total')" );
  22. ?>
  23. <p>
  24.     Points pour : <?php echo $pseudo; ?> : <?php echo$total; ?><br>
  25. <a href="index.php">Retour</a><br />
  26. </p>
  27. <?php
  28. }
  29. else
  30. {
  31. ?>
  32. <form method="post">
  33. <p>
  34. Cochez la case si cela vous correspond :<br>
  35. <input name="question1" type="radio" value=1 /> texte Question 1<br>
  36. <input name="question2" type="radio" value=1 /> texte Question 2<br>
  37. <input name="question3" type="radio" value=1 /> texte Question 3<br>
  38. <input name="question4" type="radio" value=1 /> texte Question 4<br>
  39. <input name="question5" type="radio" value=1 /> texte Question 5<br>
  40. <input name="question6" type="radio" value=1 /> texte Question 6<br>
  41. <input name="question7" type="radio" value=1 /> texte Question 7<br>
  42. <input name="question8" type="radio" value=1 /> texte Question 8<br>
  43. <input name="question9" type="radio" value=1 /> texte Question 9<br>
  44. </p>
  45. Pseudo :
  46. <input name="pseudo" type="text" value="" />
  47. <input type="submit" value="Valider" /><br><br>
  48. </form>
  49. <strong>"Classement" :</strong><br><br>
  50. <?php
  51. $reponse = mysql_query("SELECT * FROM points ORDER BY points DESC" );
  52. while ($donnees = mysql_fetch_array($reponse) )
  53. {
  54. ?>
  55. Pseudo : <?php echo $donnees['Pseudo'];?> <br>
  56. Points : <?php echo $donnees['Points'];?> <br><br>
  57. <?php
  58. }
  59. mysql_close(); // Déconnexion de MySQL
  60. }
  61. ?>



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.

Répondre à canaillou2k5

eu aussi la base doit s'appeler "questionnaire"

Répondre à canaillou2k5

Etes vous sur que d'utiliser les boutons de type "radio" est une bonne idée?

------------------------------ Mac OS X, Feisty fawn, winXP
http://jonathanschmidt.fr
Répondre à sparrowix

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

Répondre à canaillou2k5

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 )


Message édité par andrelec1 le 14-07-2008 à 10:34:23
------------------------------ XD --> peut aussi se dessiner --> XP
Microsoft se fout-il pas ne notre tete avec son XP ???
Répondre à andrelec1
Tom's Guide > Forum > Programmation > Qcm à points ...
Aller à :

Il y a 1666 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens