ugrás a tartalomhoz

Átlag számítás és % szavazáshoz

chipi · 2006. Aug. 26. (Szo), 23.50
Sziasztok!
Olyat hogyan lehet csinálni, hogy van egy szavazásom ahol van 5 tétel amire lehet szavazni, no, de a bibi az ott kezdődik nálam, hogy amikor lekérem akkor nekem % arányában jelenjenek meg az értékek. A max az a 100% legyen.
Mint pl Itt

Na, hogy % arányban jelenjen meg.

Köszi előre is a segítséget!
 
1

százalékszámítás

jeti · 2006. Aug. 27. (V), 00.20
A százalékszámításnak megfelelően:
$ertek1,...$ertek5
  1. $ertekosz=$ertek1+$ertek2+$ertek3+$ertek4+$ertek5;  
  2. $szazalek1=($ertek1/$ertekosz)*100;  
  3. printf("%.2f",$szazalek1); \* 2 számjegyű a tizedes   
  4. vagy egyszerűen csak: printf("%.2f",(($ertek1/$ertekosz)*100));  
  5. *\  
  6.   
  7. ...  
  8.   
  9. $szazalek5=($ertek5/$ertekosz)*100;  
  10. printf("%.2f",$szazalek5);  
2

Számitási gondok

chipi · 2006. Aug. 27. (V), 00.39
Köszi, de lettek problémák.
  1. <?php for($k=1; $k < ($totalRows_login+1); $k=$k+1) { ?>                 
  2.     <table width="100%" border="0" cellspacing="0" cellpadding="0">  
  3.         <tr>   
  4.           <td width="56%"><?php echo $olvas_tomb[$k]["kerdes"]; ?></td>  
  5.           <td width="44%">  
  6.             <?php   
  7.               
  8.             /*if( $osszeg == "0") { 
  9. echo "0"; 
  10. }          
  11. else{  
  12. } 
  13. echo $olvas_tomb[$k]["szavazas"];*/  
  14. $osszeg = $olvas_tomb[$k]["szavazas"];  
  15. $ertekosz=$osszeg;  
  16. $szazalek1=($osszeg/$ertekosz)*100;  
  17. printf("%.2f",$osszeg);   
  18. /* 2 számjegyû a tizedes  
  19. vagy egyszerûen csak: printf("%.2f",(($ertek1/$ertekosz)*100)); 
  20. */  
  21.   
  22. $szazalek5=($osszeg/$ertekosz)*100;  
  23. printf("%.2f",$szazalek5);        ?>  
  24.           </td>  
  25.         </tr>  
  26.       </table><?php } ?>  
Nem változik az arány, mindig csak az az aktuális szám. Ezeket egy adatbázisbol kérem le a kérdéseket és melléje az értéküket és mindig csak is 1 változik szerintem a ciklus miatt.
3

lemaradt?

breakline · 2006. Aug. 27. (V), 00.50
nem így gondoltad?

$ertekosz+=$osszeg;
6

Másolás

jeti · 2006. Aug. 27. (V), 12.50
Látom, azért este mindenki fáradt... (Rosszul másoltad be a forráskódot.)
  1. $osszeg = $olvas_tomb[$k]["szavazas"];  
  2. $ertekosz=$osszeg;  
  3. $szazalek1=($osszeg/$ertekosz)*100;  
  4. printf("%.2f",$osszeg);  
A következőt csinálod:
- kiolvasol egy értéket az $osszeg-be (pl.: 254)
- ezt belemásolod az $ertekosz-be is (254)
- $szazalek1 (értéke: (254/254)*100 vagyis 100)
- ezek után kiírod a beolvasott értéket ($osszeg) 2 tizedes jeggyel (254,00)

Egy megoldás:
  1.     <table width="100%" border="0" cellspacing="0" cellpadding="0">  
  2. <?php  
  3. $ossz=0;  
  4. for ($i = 0; $i <= count($olvas_tomb)-1; $i++)  
  5. {$ossz=$ossz+$olvas_tomb[$i]["szavazas"];}  
  6. foreach($olvas_tomb as $szav) {  
  7. ?>  
  8.         <tr>   
  9.           <td width="56%"><?php echo $szav["kerdes"]; ?></td>  
  10.           <td width="44%">  
  11.             <?php   
  12.               
  13.             if($szav["szavazas"] == "0") {  
  14. echo "0";  
  15. }else{  
  16. printf("%.2f",(($szav["szavazas"]/$ossz)*100));  
  17. ?>  
  18.           </td>  
  19.         </tr>  
  20. <?php } ?>  
  21.       </table>  
(Én a php-ból szoktam kiíratni a html tag-eket.)
Nem próbáltam ki, de elvileg működnie kell.
4

% számítás

chipi · 2006. Aug. 27. (V), 00.55
Hát én valahogy úgy dondoltam, hogy ha bővitem az adatbázisban a pontokat és akkor új érték fog belekerülni, és akkor annak az összegéböl csináljon egy % átlagot aminek minden tagja változzon mikor pl az elsőre szavaznak, azaz mindegyiknek a % változni fog.
5

matek könyv

tiku I tikaszvince · 2006. Aug. 27. (V), 08.27
Javaslom vedd elő a matematika tankönyvet, keresd meg a százalékszámítás részt és nagy odafigyeléssel tanulmányozd át. Ha tisztában vagy a százalékszámítással akkor viszont nem értem mi a probléma.
Röviden összefoglalva: egy százalékértékben azt tudod kifejezni, hogy egy részérték milyen arányban áll az egészhez képest.
Ennek megfelelően arra vagy kiváncsi, hogy mekkora az adott válaszra érkezett szavazatok aránya. Tehát
  • először ki kell derítened, hogy hány szavazatod van,
  • majd kideríted, hogy az egyes szavazatokra hány szavazat érkezett.
  • Harmadik lépésben következik a kiíratás. Végig lépkedsz a válaszokon. Az egyes lépésekben kiírod a válasz számát, szövegét (ízlés szerint), és egy osztás (válaszra adott szavazatok száma/összes szavazat) eredményét.


Ui: Jó lenne ha javítanál a fogalmazásodon. a "Naszóval", "olyatakarok/szeretnék" tipusú mondatok sokaknál kiverik a biztosítékot, és válasznélkül hagynak. Egy fórumon szerintem illik úgy fogalmazni, mintha levelet írnál, és nem úgy, mintha a szóban megfogalmazott szöveged vetnéd papírra. Lehet rövidíteni, de normális határok között, úgy, hogy az ne legyen az olvasó számára zavaró.
Plusz: a válaszadókat tiszteled meg azzal, ha normálisan megfogalmazott mondatokat írsz.
7

pontosan

breakline · 2006. Aug. 27. (V), 12.54
én is erre gondoltam, furcsa volt h.

$osszeg = $olvas_tomb[$k]["szavazas"];
$ertekosz=$osszeg;
$szazalek1=($osszeg/$ertekosz)*100;


mert így mindig pontosan 100-at kapsz (pl. (250/250)*100)