Autor | Zpráva | ||
---|---|---|---|
simonek Profil |
#1 · Zasláno: 24. 2. 2008, 12:35:16 · Upravil/a: simonek
Mám v databázi uložené hodnoty, a chtěl bych aby se mi všechny sečetly.
$prumer=mysql_query("SELECT znamka FROM `table` WHERE predmet='$_POST[predmet]'"); $pocet_znamek=mysql_num_rows($prumer); if ($pocet_znamek=0) {echo "Beze známek!";} else { for($i=0; $i<=$pocet_znamek; $i++;): { Nevíte jak dál? |
||
Mastodont Profil |
#2 · Zasláno: 24. 2. 2008, 12:36:45 · Upravil/a: Mastodont
Co třeba
$prumer=mysql_query("SELECT SUM(znamka) FROM `table` WHERE predmet='$_POST[predmet]'"); |
||
Alphard Profil |
#3 · Zasláno: 24. 2. 2008, 12:41:58
tvůj kód je mi trochu záhadou, jestli chceš spočítat průměr, hledej zde
http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#functio n_avg |
||
simonek Profil |
#4 · Zasláno: 24. 2. 2008, 12:56:42
to Mastodont
vysledek mi hází Resource id #4 |
||
Joker Profil |
#5 · Zasláno: 24. 2. 2008, 13:04:25
simonek
viz nějaký návod, jak se pracuje s databázemi v PHP. query vrátí výsledek dotazu, pak je potřeba fetch_row, fetch_array nebo fetch_object pro vrácení záznamu z výsledku. V tomhle případě by šlo použít i mysql_result |
||
simonek Profil |
#6 · Zasláno: 24. 2. 2008, 13:06:51
a pokud jak radí Alphard zkusím AVG
$result=mysql_query("SELECT AVG(znamka) FROM `table` WHERE predmet='$_POST[predmet]'") hází mi to zase Resource id #4 |
||
simonek Profil |
#7 · Zasláno: 24. 2. 2008, 13:08:47
Joker
a AVG funkce by nešla? |
||
Mastodont Profil |
#8 · Zasláno: 24. 2. 2008, 13:09:13
AVG je průměr, tys to chtěl sečíst, čili SUM. I když to mysql_num_rows mluví spíš pro průměr.
|
||
simonek Profil |
#9 · Zasláno: 24. 2. 2008, 13:13:19
myslel jsem, že to udělám takto:
1) vyberu z DB pomocí SELECT všechny řádky, které splňují podmínku 2) spočítám řádky pomocí mysql_num_rows, vysledek pro mě bude počet známek 3) pomocí cyklu while budu k proměné přičítat hodnoty známek z DB, což bude celková hodnota všechn známek 4) vydělím známky počtem známek ....ale, někde bude problém! :) |
||
Leo Profil |
#10 · Zasláno: 24. 2. 2008, 13:26:45
"hází mi to zase Resource id #4"
To je ukazatel vysledku. Musite to vybrat napr. pres mysql_fetch_assoc Mozna by neskodilo kouknout se do manualu: http://cz.php.net/manual/cs/function.mysql-fetch-assoc.php Leo |
||
Leo Profil |
#11 · Zasláno: 24. 2. 2008, 13:28:20
"myslel jsem, že to udělám takto:
1) vyberu z DB pomocí SELECT všechny řádky, které splňují podmínku 2) spočítám řádky pomocí mysql_num_rows, vysledek pro mě bude počet známek 3) pomocí cyklu while budu k proměné přičítat hodnoty známek z DB, což bude celková hodnota všechn známek 4) vydělím známky počtem známek " To je jako kdybyste potreboval vedet, kolik maji v univerzitni knihovne knih - pozadate o xerox vsech knih co maji, najmete kamiony aby vam to dovezly na zahradu, najmete partu lidi co umi pocitat a psat, a az to budou mit hotove tak vsechny kopie spalite. Leo |
||
Tomasss Profil * |
#12 · Zasláno: 24. 2. 2008, 13:31:50
Ne že by to takhle nešlo, ale myslím že to je nejpracnější možná varianta.
Co ti brání v tom abys to udělal jak píše Alphard? Resource id #4 je hodně divná hláška, asi by pomohlo, kdybys sem dal celé php. |
||
Alphard Profil |
#13 · Zasláno: 24. 2. 2008, 13:38:37
$prumer= mysql_result (mysql_query("SELECT avg(znamka) FROM `table` WHERE predmet='$_POST[predmet]'"), 0, 0);
|
||
simonek Profil |
#14 · Zasláno: 25. 2. 2008, 17:49:57
díky....a lze zredukovat výsledek pouze na 1 desetinné místo?
|
||
Časová prodleva: 16 let
|
0