Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> błąt jeżeli średnia równa się 0
klanik
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 21.08.2007

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


siemka, mam taki kod, który zlicza średnią z ocen:

  1. <?php
  2. $content = str_replace('<!-- 1 -->', UnSerializeText($user_record['1']), $content);
  3. $content = str_replace('<!-- 2 -->', UnSerializeText($user_record['2']), $content);
  4. $content = str_replace('<!-- 3 -->', UnSerializeText($user_record['3']), $content);
  5. $content = str_replace('<!-- 4 -->', UnSerializeText($user_record['4']), $content);
  6. $content = str_replace('<!-- 5 -->', UnSerializeText($user_record['5']), $content);
  7. $content = str_replace('<!-- 6 -->', UnSerializeText($user_record['6']), $content);
  8. $content = str_replace('<!-- 7 -->', UnSerializeText($user_record['7']), $content);
  9. $content = str_replace('<!-- 8 -->', UnSerializeText($user_record['8']), $content);
  10. $content = str_replace('<!-- 9 -->', UnSerializeText($user_record['9']), $content);
  11. $content = str_replace('<!-- 10 -->', UnSerializeText($user_record['10']), $content);
  12. $content = str_replace('<!-- GLOSY -->', UnSerializeText($user_record['glo_d']), $content);
  13.  
  14. $g1 = UnSerializeText($user_record['1']);
  15. $g2 = UnSerializeText($user_record['2']);
  16. $g3 = UnSerializeText($user_record['3']);
  17. $g4 = UnSerializeText($user_record['4']);
  18. $g5 = UnSerializeText($user_record['5']);
  19. $g6 = UnSerializeText($user_record['6']);
  20. $g7 = UnSerializeText($user_record['7']);
  21. $g8 = UnSerializeText($user_record['8']);
  22. $g9 = UnSerializeText($user_record['9']);
  23. $g10 = UnSerializeText($user_record['10']); 
  24.  
  25. $gg1 = UnSerializeText(round($srednia = $g1+$g2+$g3+$g4+$g5+$g6+$g7+$g8+$g9+$g10));
  26. $gg2 = UnSerializeText(round($srednia = 1*$g1+2*$g2+3*$g3+4*$g4+5*$g5+6*$g6+7*$g7+8*$g8+9*$g9+10*$g10)); 
  27. $content = str_replace('<!-- SREDNIAG -->', UnSerializeText(round($srednia = $gg2/$gg1 )), $content);
  28. ?>


kod jest dobry, ale jeżeli niema głosów i wyskakuje 0 << jako średnia to na stronie na samej górze wyskakuje taki błąd:

Warning: Division by zero in D:\Szumi.pl\Strona\MaxSerwer\klanik.sgv.pl\forum\login.php on line 117

Warning: Cannot modify header information - headers already sent by (output started at D:\Szumi.pl\Strona\MaxSerwer\klanik.sgv.pl\forum\login.php:117) in D:\Szumi.pl\Strona\MaxSerwer\klanik.sgv.pl\user.php on line 31

Warning: Division by zero in D:\Szumi.pl\Strona\MaxSerwer\klanik.sgv.pl\forum\srednia.php on line 264

czy ktoś wie co muszę zrobić żeby go nie było?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
i przy okazji żeby średnia była do 2 liczb po przecinku tak jak na fotka.pl
Go to the top of the page
+Quote Post
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Cytat
Warning: Division by zero in D:\Szumi.pl\Strona\MaxSerwer\klanik.sgv.pl\forum\login.php on line 117

Warning: Cannot modify header information - headers already sent by (output started at D:\Szumi.pl\Strona\MaxSerwer\klanik.sgv.pl\forum\login.php:117) in D:\Szumi.pl\Strona\MaxSerwer\klanik.sgv.pl\user.php on line 31

Warning: Division by zero in D:\Szumi.pl\Strona\MaxSerwer\klanik.sgv.pl\forum\srednia.php on line 264


1 warning to dzielenie przez zero
a 2 to daj ob_start() w 1 lini skryptu walkowane 10000000000000 razy na tym forum
Go to the top of the page
+Quote Post
qqrq
post
Post #3





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

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


No powiedzmy tak:

Zamiast:
  1. <?php
  2. $content = str_replace('<!-- SREDNIAG -->', UnSerializeText(round($srednia = $gg2/$gg1 )), $content);
  3. ?>


piszesz:

  1. <?php
  2. if ($gg1 == 0)
  3. $content = str_replace('<!-- SREDNIAG -->', 'brak', $content);
  4.  else
  5. $content = str_replace('<!-- SREDNIAG -->', UnSerializeText(round($srednia = $gg2/$gg1 )), $content);
  6. ?>


(żeby uniknąć dzielenia przez 0).
Go to the top of the page
+Quote Post
klanik
post
Post #4





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 21.08.2007

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


  1. <?php
  2. if ($gg1 == 0)
  3. $content = str_replace('<!-- SREDNIAG -->', 'brak', $content);
  4.  else
  5. $content = str_replace('<!-- SREDNIAG -->', UnSerializeText(round($srednia = $gg2/$gg1 )), $content);
  6. ?>


dzięki zadziałało (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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: 20.09.2025 - 15:19