Pomoc - Szukaj - U¿ytkownicy - Kalendarz
Pe³na wersja: b³±t je¿eli ¶rednia równa siê 0
Forum PHP.pl > Forum > PHP
klanik
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?questionmark.gif
i przy okazji ¿eby ¶rednia by³a do 2 liczb po przecinku tak jak na fotka.pl
skowron-line
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
qqrq
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).
klanik
  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 smile.gif
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.