Bonjour Smiley smile

j'aimerai un peu d'aide sur un choix à faire Smiley cligne

Voila, j'aimerai créer un formulaire avec des boutons radios, exemple trois questions auxquelles on peut choisir parmit trois réponses.

Seulement j'aimerai que les réponses auxquelles ont a droit ne soit pas toujours les même, ni dans le même ordre.

Exemple concret :

De quelle couleur est le soleil ?

*jaune
*bleu
*vert
*rouge
*noir
*violet


Donc on a en tout six réponses possibles, et j'aimerai qu'il n'y en ai que trois d'afficher aléatoirement, dont la bonne lol Smiley cligne

Je me demande quel système utiliser ? une base de données qui contiendrait les réponses ?

Si vous avez des idées merci Smiley cligne

Apres pour le code, j'essayerai de le faire seul ! Smiley smile

Merci
Administrateur
Bonjour,

La simplicité de ce qu'il y a à stocker (question, bonne réponse, plusieurs mauvaises réponses) fait que plusieurs choix sont possibles:
un simple tableau de chaînes de caractères (en PHP ou autre) peut suffire tant qu'il n'y a pas des centaines de questions Smiley lol (EDIT: appelé via un include() )
Ca peut aussi être stocké dans un fichier XML (SimpleXML est simple à utiliser en PHP5) ou bien une BDD relationnelle.
Modifié par Felipe (02 Jun 2007 - 00:00)
En gros...il y a une trentaine de questions, réparties dans cinq thèmes.

J'ai trouvé une méthode proposée par ce site : http://www.mmt-fr.org/article190.html

Exemple : exemple

Avec un tableau

<?php
$nsp= "Je ne sais pas";
$quizz= array( 
array("L'alcool réchauffe :","Vrai","Faux",$nsp,"2","C'est une impression illusoire : après une absorption d'alcool, la température s'abaisse. Ce mécanisme de refroidissement explique de nombreux cas de pneumonie chez les grands buveurs."),
array("L'alcool désaltère :","Vrai","Faux",$nsp,"2","L'alcool déshydrate et la soif persiste. Plus on boit d'alcool plus on a soif.",),
array("L'alcool stimule les centres nerveux :","Vrai","Faux",$nsp,"2","L'alcool provoque une dangereuse impression d'euphorie et perturbe les centres nerveux de la vision, de l'audition, de la coordination, et de l'attention. Les temps de réaction sont considérablement augmentés, multipliant ainsi les risques d'accidents..."),
array("L'alcool rend viril :","Vrai","Faux",$nsp,"2","L'alcool ne tient jamais ce qu'il promet. Il donne une fausse sensation de puissance due à la perte de contrôle de soi. Il n'apporte ni force ; ni virilité, ni réussite, au contraire. De plus, l'impuissance est particulièrement fréquente chez l'alcoolique chronique.")
);


Le 2 signifiant où est placé la bonne réponse dans le tableau

Suivit du code
<?php
$page = basename($_SERVER['PHP_SELF']);
$melange = array_rand($quizz,count($quizz));
//exit();
if (!isset($result)) {
	print "<form action=\"$page\" method=\"post\">\n";
	for ($i=0; $i<count($quizz); $i++) {
		$nom= $i;
		print '<blockquote><span class="vert">';
		print "\t".($i+1)." - ".$quizz[$melange[$i]][0]."\n";
		print '</span><br /><br />';
     		for ($j=1; $j<count($quizz[$melange[$i]])-2; $j++) {
			$quest=$quizz[$melange[$i]][$j];
	  		print "<input type='radio' name=\"$nom\" value=\"$j\" /> $quest<br />\n ";
     		}
		print "</blockquote><hr />";
		$liste .= $melange[$i].",";
	}
	print "<input type=\"hidden\" name=\"result\" value=\"$liste\" /><br />\n<center>";
	print "<input type=\"submit\" style=\"background-color:#f66\" onmouseover=\"this.style.color='#fff'\" onmouseout=\"this.style.color='#000'\" onmousedown=\"this.style.color='#f90'\" value=\"Vos résultats et la correction\" /></center></form>\n"; 
}

... etc


Je pense utiliser cette méthode, sauf si vous avez des idées qui seraient plus simple Smiley cligne

Et on a pas php5 Smiley cligne
Modifié par spike2 (02 Jun 2007 - 01:05)