pb de nbre nul dans table sondage

pb de nbre nul dans table sondage - PHP - Programmation

Marsh Posté le 07-09-2002 à 16:26:04    

voila c pas facile a expliquer :  
 
je fais un script de sondsage pour la creation du sondage no pb, pour voter no pb mais c pour l'affichage des resultat :  
 
si les champs resultat_n sont != 0 ca marche mais si le premier est =0 alors aucun s'affiche, si le deuxieme est =0 le premier s'affiche et c tout  
 
 
voila le code  
 
 
table :  

Code :
  1. CREATE TABLE sondage ( id INT (11) not null AUTO_INCREMENT, question VARCHAR (150) not null, date_creation DATE not null, nb_votants INT not null, choix_1 VARCHAR (30) not null, resultat_1 INT (10) DEFAULT '0' not null, choix_2 VARCHAR (30) not null, resultat_2 INT (10) DEFAULT '0' not null, choix_3 VARCHAR (30) not null, resultat_3 INT (10) DEFAULT '0' not null, choix_4 VARCHAR (30) not null, resultat_4 INT (10) DEFAULT '0' not null, choix_5 VARCHAR (30) not null, resultat_5 INT (10) DEFAULT '0' not null, choix_6 VARCHAR (30) not null, resultat_6 INT (10) DEFAULT '0' not null, choix_7 VARCHAR (30) not null, resultat_7 INT (10) DEFAULT '0' not null, choix_8 VARCHAR (30) not null, resultat_8 INT (10) DEFAULT '0' not null, PRIMARY KEY (id), INDEX (id), UNIQUE (id))


et resultat.php ( juste la boucle qui merdouille)  
 
 

Code :
  1. $j=1;
  2.   $var2="resultat_".$j;
  3.  
  4.    
  5.   while ( $resultat=$data[$var2] )
  6.   {
  7.    
  8.    if (empty($resultat))
  9.    {
  10.     echo "<img src=\"../Interface/sondage.gif\" height=\"8\" width=\"1\"> ";
  11.     echo "( 0% )<br>";
  12.    }
  13.    else
  14.    {
  15.    
  16.    $pourcentage = round(($resultat / $nb_votants) * 100);
  17.  
  18.   echo "<img src=\"../Interface/sondage.gif\" height=\"8\" width=".$pourcentage."/> ";
  19.    echo "( ".$pourcentage."% )<br>";
  20.    }
  21.    $j++;
  22.    $var2="resultat_".$j;
  23.   }


 
le if g fais ca en desespoire mais ca marche pas  
 
dans la table, g mis DEFAULT="0"  
 
 
donc voila je suis deseperer    


---------------
Qui mange un noix de coco entiere fait confiance a son anus
Reply

Marsh Posté le 07-09-2002 à 16:26:04   

Reply

Marsh Posté le 07-09-2002 à 22:12:42    

Code :
  1. CREATE TABLE sondage (
  2. id INT (11) not null AUTO_INCREMENT,
  3. question VARCHAR (150) not null,
  4. date_creation DATE not null,
  5. nb_votants INT not null,
  6. choix_1 VARCHAR (30) not null,
  7. resultat_1 INT (10) DEFAULT '0' not null,
  8. choix_2 VARCHAR (30) not null,
  9. resultat_2 INT (10) DEFAULT '0' not null,
  10. choix_3 VARCHAR (30) not null,
  11. resultat_3 INT (10) DEFAULT '0' not null,
  12. choix_4 VARCHAR (30) not null,
  13. resultat_4 INT (10) DEFAULT '0' not null,
  14. choix_5 VARCHAR (30) not null,
  15. resultat_5 INT (10) DEFAULT '0' not null,
  16. choix_6 VARCHAR (30) not null,
  17. resultat_6 INT (10) DEFAULT '0' not null,
  18. choix_7 VARCHAR (30) not null,
  19. resultat_7 INT (10) DEFAULT '0' not null,
  20. choix_8 VARCHAR (30) not null,
  21. resultat_8 INT (10) DEFAULT '0' not null,
  22. PRIMARY KEY (id), INDEX (id), UNIQUE (id))


 
Se sera + lisible comme ça.
Maintenant v voir comment faire

Reply

Marsh Posté le 07-09-2002 à 23:37:30    

déjà  
 
        echo "<img src=\"../Interface/sondage.gif\" height=\"8\" width=\"".$pourcentage."\"> ";  
         echo "( ".$pourcentage."% )<br>";  
 
c'est mieux :)


Message édité par joce le 07-09-2002 à 23:37:42

---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 07-09-2002 à 23:42:10    

ceci dit c'est normal que ton script chie, si tu fais un
 
 
while ( $resultat=$data[$var2] )  et que resultat=='0', ba il rentrera pas dans le while, donc c'est :dtc:.
Donc faut que tu changes ton while en  
 

$j=1;
while ($j<=8) (ca devrait marcher là)
{
  $var2="resultat_".$j;  
  $resultat=$data[$var2]
[..]
  $j++;  
}


Message édité par joce le 07-09-2002 à 23:43:39

---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 14-09-2002 à 22:14:50    

alords le pb avance mais comme il est concu, la boucle des choix s'arrette qd un des choix est vide  
 
et pour resultat, l'ancienne merdait car s'arretais si aucune personne avait votée et comme a fais joce ca m'affiche les 8 resultats, c cool mais i ya que 2 choix c pas top
 
 
en fait il faudrait recuperer le nombre de choix et je vois pas comment faire dans la boucle des choix
 
 
merci a tous de votre aidez


---------------
Qui mange un noix de coco entiere fait confiance a son anus
Reply

Marsh Posté le 14-09-2002 à 23:52:19    

ba tu fais deux boucles :D


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 15-09-2002 à 09:28:07    

cad car yen a deux boucle : choix et resultat


---------------
Qui mange un noix de coco entiere fait confiance a son anus
Reply

Marsh Posté le 15-09-2002 à 16:45:48    

tu fais une première boucle qui compte le nombre de choix :D


Message édité par joce le 15-09-2002 à 16:46:04

---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 15-09-2002 à 20:14:32    

ok mais newbiz inside :D
 
en gros ya une fonction qui permet de compter!? ou une autre methode


---------------
Qui mange un noix de coco entiere fait confiance a son anus
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed