Един проблем с %

HunteR

Super Moderator
Така пичове имам проблем.
Така значи в една анкета пиша това за да илизат процентите(%)
Код:
<?php
$procent = ($otg1 / ($otg1 + $otg2)) * 100;
echo $procent;
?>
Такааа...
И сега да обясня къде идва проблема.
Значи ако гласовете $otg1 и $otg2 са 0 и се появява следната грешка, която искам да я отстраня, но не зная как и ви моля да ми помогнете :)
Ето я и грешката

Warning: Division by zero in /home/www/ankank.freehostia.com/vote.php

Warning: Division by zero in /home/www/ankank.freehostia.com/vote.php

Само знам, че zero е 0 :)
 
Както ти е скрипта утавнението ще е :
х= 0/(0+0)*100
0/0 = 0
0*0 = 0
-->
0/2 = 0
0*100 = 0
Незнам по каква формулата се изчисляват % но и на мене ми интересно.
Просто твойто уравнение винаги ще дава 0
 
Така няма ли да стане ?

$procent= брой_отговори_1*(100/брой_гласове_общо);
Където брой_отговори_1 ти е броя на гласовете само от един от възможните отговори. т.е. $otg1

Код:
$broj_otg = $otg1 + $otg2;
 $procent=$otg1*(100/$broj_otg);

:roll:
 
Soul_Stealler ще пробвам по твоя начин ;)
А index не винаги ще дава нула веднага щом някой гласува резулата е различен от 0. :roll:

Едит:Soul_Stealler значи то същата работа.
Ако $otg1 и $otg2 са по 0 общият резултат съще е нула и следователно пак ми излиза тази грешка :(
 
Оправих се мерси все пак :)
След деленето слагам просто едно "@" и грешката изчезва ;)
 
направи го ако едната от 2те променливи е равна на нула да прескача смятането :)
 
HunteR каза:
Оправих се мерси все пак :)
След деленето слагам просто едно "@" и грешката изчезва ;)

Ъ? А защо просто не правиш проверка дали има гласове. Ако няма, направо изкарваш 0 гласували, 0 %
 
HunteR каза:
Еми да и това е решение ама къв е смисала кът може и само с едно @ :)

Това Е решение, твоето НЕ Е решение :)
Ти не решаваш проблема, а просто го скриваш ;) Разбра ли ме?
 
Аз това ми го знам и ми стига да го скрия той не е голям проблем(поне така си мисля) :roll:
 
HunteR каза:
Аз това ми го знам и ми стига да го скрия той не е голям проблем(поне така си мисля) :roll:

В случая няма значение дали е голям или малък проблема. Просто не е хубаво да се учиш така да си "решаваш" проблемите.
 
HunteR каза:
Аз това ми го знам и ми стига да го скрия той не е голям проблем(поне така си мисля) :roll:

така се придобива много лош навик, като криеш проблемите, много често от навик криеш и големи проблеми.

просто направи една проверка ако 1 е нула, показваш нула, и най-вече е нужна, защото в натематиката не съществува израз n/0 това на каквато и изчислителна машина да го зададеш ти дава грешка.
 
Еми по принцип не си крия така грешките.
Сега го правя щото не мисе прави да проверява, а и не мисля, че с това @, с което съм скирл грешката някой ще ми хакне сайта :)
 

Back
Горе