Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Błąd przy wyniku dzielenia.
ebate
post 9.11.2011, 18:57:48
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 12.10.2011

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


Na stronie dziele dane z bazy:
  1. echo round ($wiersz['wygrana']/$wiersz['przegrana'], 2);

Niestety, gdy pole wygrana badź przegrana nie ma żadnej wartości wyskakuje mi błąd:
Warning: Division by zero in C:\xampp\htdocs\PIOTR\rankingk.php on line 16
0

O co z tym chodzi? Czy wartością początkową pól wygrana i przegrana ma być 0?
Go to the top of the page
+Quote Post
kadlub
post 9.11.2011, 19:19:12
Post #2





Grupa: Zarejestrowani
Postów: 548
Pomógł: 105
Dołączył: 4.06.2010

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


moja nauczycielka w technikum mówiła pamiętaj cholero nie dziel przez zero
Go to the top of the page
+Quote Post
Sephirus
post 9.11.2011, 19:38:28
Post #3





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Zawsze jak coś dzielisz (tak jak przedmówca wspomniał) sprawdzaj czy to nie jest puste lub równe 0

  1. echo $wiersz['przegrana'] == 0 ? 0 : round ($wiersz['wygrana']/ $wiersz['przegrana'] , 2);


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
ebate
post 9.11.2011, 20:53:26
Post #4





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 12.10.2011

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


No tak, czyli w mianowniku musi być co najmniej 1, a więc pytanie:

Jak zrobić, żeby każdy dodatkowy wpis w tabeli (np. nowy użytkownik) miał w polu ['przegrana'] od razu na początku liczbe 1?
Go to the top of the page
+Quote Post
nospor
post 9.11.2011, 21:02:29
Post #5





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




Cytat
No tak, czyli w mianowniku musi być co najmniej 1, a więc pytanie:
NIe. Ma tam po prostu nie być zera.

Cytat
Jak zrobić, żeby każdy dodatkowy wpis w tabeli (np. nowy użytkownik) miał w polu ['przegrana'] od razu na początku liczbe 1?
Kombinujesz jak koń pod górkę. Napisano ci przecież wyraźnie: jak jest 0 to nie dziel. Dostałeś nawet kod.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ebate
post 9.11.2011, 21:10:36
Post #6





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 12.10.2011

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


No tak faktycznie...

W takim razie dziękuje wszystkim za pomoc.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 17:07