Page 1 sur 1

Probleme questionnaire

Posté : 27 janv. 2014, 21:33
par mailoy
Bonsoir,

suite à un projet scolaire j'ai du apprendre le PHP, mais je rencontre quelques problèmes, surtout avec le questionnaire qui sera par la suite incrémenté chaque fois qu'une réponse est juste, avec un système de points.

Mais je n'arrive pas à faire afficher les questions, et encore moins une aprés l'autre :/

Merci de m'aider.
<?php


if (isset($_POST['reponse']))
{
        $reponsedujoueur = $_POST['reponse'];

	try
	{	
		$bdd = new PDO('mysql:host=***************;dbname=**********', 'i**********', '***********');
	}
	catch (Exception $e)
	{
		die('Erreur : ' . $e->getMessage());
	}
	$req = $bdd->prepare('SELECT * FROM questions WHERE id = ?');
	$req->execute(array($id));
       	
       
        
        while($donnees = $req->fetch()){	
        	$req->closeCursor();
	        if ($donnees['reponse'] == $reponsedujoueur)
	        {
	                echo "tu as gagné un point bravo !!"; //  (accorder les points etc)
	        }
	        else
	        {
	                echo " tu as mal répondu, recommence";// pas de points, ou redirige vers une page
	        }
	}
	
}
else
{
        // Sinon si le joueur n'a pas entré de réponse tu le renvoie ou il était    
}
?>

 <form method="POST" action="#" >
      <p>
         <input type="hidden" name="id" value="<?php echo $donnees['id'] ?>" />
      
 
         Votre question : <?php echo $_SESSION['quiz'] ; ?>
 	
 
         Votre réponse : <input type="text" name="reponsedujoueur" />
         <input type="submit" value="Valider" />
          
 
 
         Votre score: <?php echo $nombre_points ; ?>
      </p>
</form>
						
	</div>
	</body>

</html>

Re: Probleme questionnaire

Posté : 28 janv. 2014, 00:05
par moogli
salut,

le mieux c'est d'avoir un rang pour les questions histoire de pouvoir les mettre dans l'ordre que tu veux.

ensuite tu passe l'id du lot de question + le rang de la question cours pour avoir la question suivante.

pour ce qui est des points il faut utiliser les sessions ou stocker dans une table.
sans avoir plus d'info sur la structure du système on ne peux qu'être vague mais l’algorithme est ainsi

si j'ai une réponse de posté
je récupère la réponse
je récupère l'id de la question
je récupère la réponse dans la base
si la réponse du formulaire est identique à la réponse de la base
incrément du compteur de points (base ou session utilisateur)
Selectionner l'id de la question suivante a partir de l'id fournit par le formulaire (voir du rang si utilisé)
si non
Afficher un message d'erreur (prévoir de réafficher la question ?
id de la question de la question suivante égale id du formulaire (pour réafficher la même question ?)
fin si
// si tu passe directement à la question suivante il faut rechercher la question suivante sans le faire dans le si / sinon ci dessus
fin si

// choix de la question a afficher
si une question à déja était afficher
on utilise la requête pour prendre la suivante
sinon
on utiliser la requête pour prendre la 1ère de la série
fin si

afficher la question (et le message d'erreur s'il y a lieu)

@+