Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] wyliczenie sredniej punktow w quizie
gregov0
post
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 14.01.2011
Skąd: Kalisz

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 20:32