Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1117 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème avec variable php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème avec variable php

n°1903633
axelandre
Posté le 08-07-2009 à 15:06:36  profilanswer
 

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 :
  1. $reponseok = array();
  2.  $j = 1;//Initialisation de la variable qui va permettre de parcourir les champs du tableau $_POST
  3.  $result = 0; //Initialisation de la variable qui va prendre +1 à chaque bonne réponse
  4.  $req = mysql_query("SELECT * FROM summerquiz WHERE idrh = '".$idrh."'" ); //Récupération des infos du participant et donc des questions spécifiques
  5.  $row = mysql_fetch_array($req);
  6.  // tableaux des bonnes réponses par quiz
  7.  if($_POST['quiz'] == "TV" ) { // Si la fonction de l'utilisateur est TV alors les bonnes réponses seront celles-ci
  8.   $reponseok = array('2','3','3','2','2','2','1','1','2','1','1','2','2','1','3','1');
  9.  }
  10.  else{//Sinon ce seront celle-là
  11.   $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');
  12.  }
  13.  for($i=0; $i<16; $i++){//On parcours le tableau $_POST et on compare avec le tableau $reponseok
  14.   //Si la valeur du tableau $_POST et égale à la valeur du tableau $reponseok alors on incrémente $result de +1
  15.   if($row['question'.$j] == $reponseok[$i]) { $result = $result+1; }
  16.  }
  17.  $result = ($result*20)/16; //On met le résultat sur 20
  18.  $resultat = round($result); //On arrondit le résultat
  19.  echo $result.'<br /><br />';//Affichage de la variable $result
  20.  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.

mood
Publicité
Posté le 08-07-2009 à 15:06:36  profilanswer
 

n°1903651
aideinfo
Posté le 08-07-2009 à 15:22:36  profilanswer
 

Pour l'incrémentation, tu peux utiliser $result++; au lieu de result = $result+1;
Commence par vérifier que ton script passe bien par le code d'incrémentation (en ajoutant par exemple un symbole spécifique à côté).


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
n°1903658
pataluc
Posté le 08-07-2009 à 15:26:43  profilanswer
 

tu te serais pas mélangé les pinceaux entre $i et $j?

n°1903663
axelandre
Posté le 08-07-2009 à 15:28:32  profilanswer
 

Merci pour l'incrépmentation de la variable $result.
 
Je fait un echo de la varible $result dans la condition située dans la boucle FOR, rien ne s'affiche. Alors que je constate que certaines réponses sont juste et que donc la condition se vérifie entre les deux tableaux !
 
très bizarre...
 
tu sais d'où cela peut venir ?

n°1903721
aideinfo
Posté le 08-07-2009 à 15:55:02  profilanswer
 

JE parle de mettre un signe distinctif (par exemple, echo "#1" ) afin de vérifier si le script passe dans la boucle. Là, tout ce qu'on sait, c'est que la variable est null (qui peut venir d'une faute de frappe par exemple).


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
n°1903729
axelandre
Posté le 08-07-2009 à 15:57:17  profilanswer
 

Mea culpa !
 
je viens de me rendre compte que je bouclais sur des questions qui n'existais pas dans la base. en effet, les réponses de l'utilisateur se trouve dans le tableau $_POST et non en base donc du coup je boucle maintenant sur le tableau $_POST et tout fonctionne à merveille.
 
merci pour ton aide aideinfo
 
A bientôt


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème avec variable php

 

Sujets relatifs
Probleme variable entrante function OracleProblème d'incrémentation de variable!
Problème d'occurence variable [RESOLU]probleme variable flash =>php
[C - Gros débutant] Probleme de variable ...Problème lié à l'utilisation d'une variable globale
probleme de transmission de variable js/phpProbleme Variable not defined [RESOLU]
Script bash - Problème d'espace dans une variable RESOLUprobleme de split d'une variable
Plus de sujets relatifs à : Problème avec variable php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR