axelandre | Bonjour à tous,
Je planche sur un problème dont la réponse doit-être toute bête mais j'ai le nez dessus depuis quelques temps et je m'oriente vers vous pour trouver la solution !
En fait je fais un traitement qui permet de récupérer les données d'un $_POST (ce sont des questions) dont les "name" sont "question1, "question2",..."question16".
Je compare ces données avec celles contenu dans un tableau de type array où sont renseigné les bonnes réponses.
J'ai donc créé une boucle FOR pour parcourir le tableau $_POST et de comparer pour chaque cellule si le résultat correspond bien à celui présent dans le tableau array (nommé "$reponseok" ).
Et mon souci est que la variable qui prend +1 si la réponse est juste (variable nommée "$result" ) reste toujours à zéro ! C'est un soucis puisque c'est elle qui définit le résultat du questionnaire afin de le rentrer en base !
Voici le code de traitement :
Code :
- $reponseok = array();
- $j = 1;//Initialisation de la variable qui va permettre de parcourir les champs du tableau $_POST
- $result = 0; //Initialisation de la variable qui va prendre +1 à chaque bonne réponse
- $req = mysql_query("SELECT * FROM summerquiz WHERE idrh = '".$idrh."'" ); //Récupération des infos du participant et donc des questions spécifiques
- $row = mysql_fetch_array($req);
- // tableaux des bonnes réponses par quiz
- if($_POST['quiz'] == "TV" ) { // Si la fonction de l'utilisateur est TV alors les bonnes réponses seront celles-ci
- $reponseok = array('2','3','3','2','2','2','1','1','2','1','1','2','2','1','3','1');
- }
- else{//Sinon ce seront celle-là
- $reponseok = array('2', '1,2,3','1','3','1','1,2,3,4','3','3','1','2','1','1,2','2','2','1','1,3');
- }
- for($i=0; $i<16; $i++){//On parcours le tableau $_POST et on compare avec le tableau $reponseok
- //Si la valeur du tableau $_POST et égale à la valeur du tableau $reponseok alors on incrémente $result de +1
- if($row['question'.$j] == $reponseok[$i]) { $result = $result+1; }
- }
- $result = ($result*20)/16; //On met le résultat sur 20
- $resultat = round($result); //On arrondit le résultat
- echo $result.'<br /><br />';//Affichage de la variable $result
- echo $resultat; //Affichage de la moyenne sur 20
|
Voila, et donc au final les deux dernières lignes affichent les variables $result et $resultat mais celles-ci sont toujours égales à 0 !
Merci à tous pour votre aide qui va m'être très précieuse.
|