Autor | Zpráva | ||
---|---|---|---|
MikelCz Profil |
#1 · Zasláno: 31. 5. 2013, 15:09:25
Zdravím, tohle je asi častej problém, ale i přes velkou snahu a hledání jsem se nedopídil k správný odpovědi a fungujícímu skriptu, pár jsem jich zkoušel přesně zkopírovat a jen změnit proměnný a pár jsem zkusil vymyslet sám, no.. k úspěchu to nevedlo. Chtěl bych vás tedy poprosit o radu v čem je chyba a proč to nefunguje
resp. funguje, ale ne podle představ. Skript co přikládám error nehází, ale u všech filmů vypisuje, že počet hodnocení je 1, což by mohlo být tím, že počítá jen to jedno už zprůměrované hodnocení (avg_mark), ale ani za boha mi nejde doklepat to do vítězného konce, aby to počítalo všechny k danýmu filmu.. výpis a zprůměrování funguje dobře, problém je čistě s tím výpisem počtu hodnocení.. díky za pomoc, jdu se v tom rejpat dál, ale z části spoléhám i na vaši pomoc :) <?php mysql_connect("mysql.wu.cz","nazev_databaze","*******"); mysql_select_db("nazev_databaze"); $hodnoceni = mysql_query("SELECT AVG(hodnoceni) as avg_mark FROM `hodnoceni` where id =". $radek->id); //Výpis a zprůměrování hodnocení echo "Celkový počet záznamů: " . mysql_num_rows($hodnoceni) . "\n"; //tohle by mělo vypsat počet hodnocení.. while ($rating = mysql_fetch_object($hodnoceni)) { ?> <div class="hodnoceni"> <center> <img src="img/hodnoceni.png"> <span class="pismohodnoceni"> <?=$rating->avg_mark?>% </span> </center> </div> <?php } mysql_free_result($hodnoceni); ?> |
||
DJ Miky Profil |
Je to přesně tak, jak píšeš.
mysql_num_rows() vrátí počet řádků, v tomto případě se ale vybere pouze jeden řádek s jednou hodnotou (průměrem). Nejsnazší řešení je dotazem vybrat i počet hodnocení, tedy do SQL dotazu doplnit COUNT(*) as pocet a počet hodnocení bude přístupný v $rating->pocet :
$hodnoceni = mysql_query("SELECT AVG(hodnoceni) as avg_mark, COUNT(*) as pocet FROM `hodnoceni` where id =". $radek->id); while ($rating = mysql_fetch_object($hodnoceni)) { echo $rating->pocet; // vypíše počet hodnocení |
||
MikelCz Profil |
#3 · Zasláno: 31. 5. 2013, 15:25:13
DJ Miky: Děkuju, Bůh ti zaplať za tvou laskavost ! :)
|
||
Časová prodleva: 11 let
|
0