Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Obliczanie procentu
Forum PHP.pl > Forum > Przedszkole
WebKing
Cześć,
Od jakiegoś czasu bawię się w php-Fusion 7 i zrobiłem już sporo modów, lecz niedawno stanąłem. Wypisze co mam w bazie i wytłumaczę co dalej

Baza danych (pola):
Kod
browser_name,
browser_count


Baza danych (zawartość):
Kod
firefox,
152
---------------
explorer,
19
---------------
opera,
112


Wszystko to wyświetlam za pomocą funkcji while" title="Zobacz w manualu PHP" target="_manual, wyświetlam tą metodą ile i z jakiej przeglądarki ludzie przeglądają moją stronę. Chciałbym obliczyć jaki procent stanowi dana przeglądarka, wyciągałem już rozmaitości z skryptów ale nic nie działa tak jak należy.

Proszę o pomoc,
WebKing
artur_dziocha
podstawy matematyki
firefox,
152
---------------
explorer,
19
---------------
opera,
112



ff = 152/(152+19+112)
expl = 19/(152 + 19 + 112)
itd
decha-design
po pierwsze while to nie funkcja tylko pętla.

po drugie ... co miałeś z matematyki? http://www.math.edu.pl/procenty

  1. <?php
  2. $all = $ie+$ff+$opera;
  3. $percent_ie = $ie/$all*100;
  4. echo $percent_ie.'%';
  5. ?>
WebKing
Nie rozumiem, ty podałeś zmienne a ja wyświetlam to co mam w bazie. Gdyby nie pętla to nie pisał bym tutaj.
phpion
Cytat(WebKing @ 30.01.2009, 18:40:48 ) *
Nie rozumiem, ty podałeś zmienne a ja wyświetlam to co mam w bazie. Gdyby nie pętla to nie pisał bym tutaj.

W takim razie panu gratulujemy sprytnego schematu bazy danych thumbsupsmileyanim.gif
W obecnej sytuacji nie pozostaje Ci nic innego jak wyrażenia regularne lub po prostu explode.

Edit:
Nie doczytałem, że jednak masz w miarę sensowną strukturę bazy. W takim razie w czym problem? W jednej zmiennej zapisujesz sumę oddanych głosów, a procentowy udział poszczególnych obliczasz wg zasad matematyki.
decha-design
jezu, a czy to tak trudno zastosowac?

najpierw zliczasz całą ilość 'count' do zmiennej $all ...

pozniej w pętli po prostu to dzielisz

  1. <?php
  2. $i = 0;
  3. while($result = mysql_fetch_object($query)) {
  4. $percent[$i] = $result->ie/$all*100;
  5. $i++;
  6. }
  7. ?>


czy jak tam sobie chcesz
artur_dziocha
no to jak Ty zrobiłes te moduły??
zastanów sie trochę??
Masz przykłady juz 2 podane. Wystarczy pomysłec skad to sie wzieło.
WebKing
Dziękuje, poradziłem już sobie winksmiley.jpg
kefirek
Najprościej to chyba tak
  1. <?php
  2. require_once "maincore.php";
  3.  
  4. $ile = dbresult(dbquery("SELECT SUM(browser_count) FROM procenty"), 0);
  5. $wynik = dbquery("SELECT *, CEIL(browser_count * 100 / $ile) AS wynik FROM procenty GROUP BY browser_name");
  6.  
  7. if(dbrows($wynik) > 0) {    
  8.  
  9. while($r = dbarray($wynik))    
  10. {
  11. echo $r['browser_name'].' '.$r['wynik'].' %<br>';
  12. }
  13. }
  14. ?>


Odrazu dla php fusion 7
WebKing
O, dzięki winksmiley.jpg
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.