requête avec condition if contenant du texte

requête avec condition if contenant du texte - PHP - Programmation

Marsh Posté le 27-06-2007 à 15:44:26    

Bonjour,
 
Je réalise un petit système pour donner plus d'interactivité à mon site. Mais voilà, lors d'une de mes requêtes, ca foire :
 
Warning: Division by zero in /home/www/210749426b69527e61e114f8cf14a606/web/Admin6320/eqtypevalidend.php on line 117, ...
 
Voilà ma(mes) division(s)
 

Code :
  1. $ptspersop2 = (($rowptsp2[0] / $ptsbcmlp1) * 30);
  2. $ptsecartp2 = (($ecartp1 / $ptstotp1) * 30);


Apparemment, tout est ok.
 
Le problème se trouve sans doute dans le code ci-dessous :
 

Code :
  1. $resultr1 = mysql_query("SELECT team1, team2, score1, score2 FROM games0708 WHERE id = 'rowid[0]'" );
  2. $rowr1 = mysql_fetch_array($resultr1, MYSQL_NUM);
  3. if ($rowr1[0] == 'BCML'){
  4. $ecartr1 = $rowr1[3] - $rowr1[2];
  5. } else {
  6. $ecartr1 = $rowr1[2] - $rowr1[3];
  7. }
  8. if ($rowr1[0] == 'BCML'){
  9. $ptsbcmlr1 = $rowr1[2];
  10. } else {
  11. $ptsbcmlr1 = $rowr1[3];
  12. }
  13. $ptstotr1 = $rowr1[2] + $rowr1[3];
  14. mysql_free_result($resultr1);


 
Comme vous le voyez, je place une condition if, appelant du texte se trouvant dans ma table. Ce texte n'est composé que de 4 lettres ('BCML'), et une condition du même style fonctionne dans une autre page, mais pas ici.
 
Pouvez-vous m'aider ?

Message cité 1 fois
Message édité par oli1987 le 27-06-2007 à 15:44:56
Reply

Marsh Posté le 27-06-2007 à 15:44:26   

Reply

Marsh Posté le 27-06-2007 à 16:34:31    

tu devrai testé les cas ou tu n'a pas d'ecart de pts (match nul )


Message édité par flo850 le 27-06-2007 à 16:34:39
Reply

Marsh Posté le 27-06-2007 à 16:37:08    

oli1987 a écrit :


 
Warning: Division by zero in /home/www/210749426b69527e61e114f8cf14a606/web/Admin6320/eqtypevalidend.php on line 117, ...
 
Voilà ma(mes) division(s)
 

Code :
  1. $ptspersop2 = (($rowptsp2[0] / $ptsbcmlp1) * 30);
  2. $ptsecartp2 = (($ecartp1 / $ptstotp1) * 30);


Apparemment, tout est ok.


 
    Tu es certain que tes variables sont initialisées?
    Affiche tes variables avec un echo juste avant : $ptsbcmlp1 et $ptstotp1

Reply

Marsh Posté le 27-06-2007 à 16:44:11    

en fait, j'ai plusieurs fois le meme code utilisant des variables différentes. Je reprends :
 
Ma division :
 

Code :
  1. if ($rowm[1] == 1){
  2. $id_gamem = $rowid[0];
  3. $resultptsmeneur = mysql_query("SELECT pointstot, cat FROM stats0708 WHERE id_game = '$id_gamem'" );
  4. $rowptsm = mysql_fetch_array($resultptsmeneur, MYSQL_NUM);
  5. if ($ecartr1 > 0){
  6. $ptsequipem = 3;
  7. } elseif ($ecartr1 < 0){
  8. $ptsequipem = -3;
  9. } else {
  10. $ptsequipem = 0;
  11. }
  12. $ptspersom = (($rowptsm[0] / $ptsbcmlr1) * 30);
  13. $ptsecartm = (($ecartr1 / $ptstotr1) * 30);
  14. mysql_free_result($resultptsmeneur);


 
De là, mon erreur me renvoie à :
 

Code :
  1. $resultr1 = mysql_query("SELECT team1, team2, score1, score2 FROM games0708 WHERE id = 'rowid[0]'" );
  2. $rowr1 = mysql_fetch_array($resultr1, MYSQL_NUM);
  3. if ($rowr1[0] == 'BCML'){
  4. $ecartr1 = $rowr1[3] - $rowr1[2];
  5. } else {
  6. $ecartr1 = $rowr1[2] - $rowr1[3];
  7. }
  8. if ($rowr1[0] == 'BCML'){
  9. $ptsbcmlr1 = $rowr1[2];
  10. } else {
  11. $ptsbcmlr1 = $rowr1[3];
  12. }
  13. $ptstotr1 = $rowr1[2] + $rowr1[3];
  14. mysql_free_result($resultr1);

Reply

Marsh Posté le 27-06-2007 à 16:47:09    

flo850: j'ai testé aussi en cas de match nul, mais le problème reste le même

Reply

Marsh Posté le 27-06-2007 à 17:03:33    

J'avais oublié le $ devant ma variable !! Les bêtes erreurs qui vous font perdrent du temps. Merci pr votre aide :
 
$resultr1 = mysql_query("SELECT team1, team2, score1, score2 FROM games0708 WHERE id = '$rowid[0]'" );
$rowr1 = mysql_fetch_array($resultr1, MYSQL_NUM);

Reply

Sujets relatifs:

Leave a Replay

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