Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] wyliczenie sredniej punktow w quizie
Forum PHP.pl > Forum > Przedszkole
gregov0
prosze o pomoc mam oto taki skrypt quizu chce aby wyliczal mi srednia uzyskany z punktow , zrobilem cos nie tak bo parser zwraca mi bład Warning: Division by zero wiem ze to chodzi o prubuje dzielic przez zero , moze ktos mi powiedziec co mam zmienic ?
quiz.php
  1. <?php
  2. include ("db.php");
  3.  
  4. $wynik = mysql_query("select * from quiz ORDER BY RAND() LIMIT 20;");
  5. if (mysql_num_rows ($wynik)>0)
  6. {
  7. $i=1;
  8. echo '<form ENCTYPE="multipart/form-data" action="wynik.php" method="post" target="">';
  9. echo '<INPUT TYPE="hidden" name="id" value='.$id.'>';
  10. while($pytanie = mysql_fetch_array($wynik))
  11. {
  12. echo '<font face="Arial" size="3">'.$i.'.</font>';
  13. echo '<font face="Arial" size="3">'.$pytanie['pyt'].'</font><br>';
  14. echo '<font face="Arial" size="2"><input type="radio" name=p'.$pytanie['id'].' value="a" />'.$pytanie['odpa'].'<br></font>';
  15. echo '<font face="Arial" size="2"><input type="radio" name=p'.$pytanie['id'].' value="b" />'.$pytanie['odpb'].'<br></font>';
  16. echo '<font face="Arial" size="2"><input type="radio" name=p'.$pytanie['id'].' value="c" />'.$pytanie['odpc'].'<br></font>';
  17. echo '<font face="Arial" size="2"><input type="radio" name=p'.$pytanie['id'].' value="d" />'.$pytanie['odpd'].'<br></font>';
  18. echo '<br><hr>';
  19. $i++;
  20. }
  21. echo '<INPUT class=normalne TYPE="submit" VALUE="WYNIK">';
  22. echo '</form>';
  23. }
  24.  
  25. ?>

wynik.php
  1. <?php
  2. include ("db.php");
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  6.  
  7. </head>
  8. <body>';
  9.  
  10. reset ($_POST);
  11. $w=0;
  12. $k5 = "Ocena bardzo dobra";
  13. $k4 = "Ocena dobra";
  14. $k3 = "Ocena dostateczna";
  15. $k2 = "Ocena dopuszczajaca!";
  16. $k1 = "Ocena niedostateczna";
  17. while (list ($key, $val) = each ($_POST))
  18. {
  19. if (substr($key,0,1)=='p')
  20. {
  21. $wynik = mysql_query('select * from quiz where odppraw="'.$val.'" and id='.substr($key,1,6).';');
  22. if (mysql_num_rows ($wynik)==1)
  23. {
  24. $w++;
  25. }
  26.  
  27. }
  28.  
  29. }
  30. if ($w>0) {
  31.  
  32. $srednia = sprintf("%2d",($w/$i)*100);
  33.  
  34. echo "Zaliczone $srednia procent testu.<p>";
  35. if ($srednia<25) echo $k1;
  36. if ($srednia>=25 && $srednia<50) echo $k2;
  37. if ($srednia>=50 && $srednia<75) echo $k3;
  38. if ($srednia>=75 && $srednia<99) echo $k4;
  39. if ($srednia==100) echo $k5;
  40. echo "</center>";
  41. echo "<center><input type=submit value=\" zakoncz \"script language=\"javascript\"onClick=\"zamknijOkno()\"></script></center>";
  42. }
  43.  
  44. echo '<br>
  45. <table align="center" cellspacing="20" width="500">
  46. <tr >
  47. <td><center><font face="Arial" size="4" color="green">Twoja liczba poprawnych odpowiedzi to: '.$w.'</font></center></td>
  48. </tr>
  49.  
  50. </table> ';
  51.  
  52. echo '</body></html>';
  53.  
  54. ?>
nospor
$srednia = sprintf("%2d",($w/$i)*100);
Kurcze, dzielisz przez $i, którego nigdzie w tym skrypcie nie masz i się głupio dziwisz :/

Znowu nie włączyłeś wyświetlania wszystkich błędów. Następnym razem zamkne temat i założę moderkę bo ewidentnie lejesz na tę zajebiście przydatną poradę i latasz przez to z pierdułami po forum
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.