Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: Išvedimas vidurkio
Parašė Deiviux.eu· 2009 Gru. 25 09:12:54
#1
Sveiki, pasidariau toki kodą:
$sql = "SELECT AVG(rating_vote) FROM `".$db_prefix."ratings` WHERE rating_item_id = 1 and rating_type = U";
Bet vat trūksta žinių kaip išvesti gautą rezultatą. Na čia turėtu gautis vidurkis t.y skaičius tarkim 4.5 ir pan, bet nemoku išvesti to skaičiaus. ;) Dėkui tiems kurie padės.
Parašė iMantux· 2009 Gru. 25 10:12:50
#2
gal,
$row = mysql_fetch_array($sql);
echo $row['AVG(rating_vote)'];
bet čia
mysql funkcijos,
php-f nieko nedarau nežinau kaip ten
mysql_fetch_array rašosi.
Parašė MAnjack· 2009 Gru. 25 10:12:50
#3
AVG(rating_vote) as vidurkis
vėliau atvazdavime rašyk
$x['vidurkis];
Parašė Deiviux.eu· 2009 Gru. 25 11:12:01
#4
$sql = "SELECT AVG(rating_vote) as vidurkis FROM `".$db_prefix."_ratings` WHERE rating_item_id = \'1\' and rating_type = \'U\'";
echo $sql['vidurkis'];
Su šiuo kodu man išveda: S
Nors per PMA man išveda 5.0000
Parašė iMantux· 2009 Gru. 25 11:12:24
#5
ne sql vesk, o row. :)
Parašė Deiviux.eu· 2009 Gru. 25 11:12:53
#6
Nesuprantu, kaip tai row? Taigi koks skirtumas ar sql ar row kintamasis.. Gal pati užklausa bloga? ?|
Parašė MAnjack· 2009 Gru. 25 11:12:43
#7
$sql = mysql_fetch_array(mysql_query("SELECT AVG(rating_vote) as vidurkis FROM `".$db_prefix."_ratings` WHERE rating_item_id = \'1\' and rating_type = \'U\'"));
echo $sql['vidurkis'];
Parašė iMantux· 2009 Gru. 25 11:12:15
#8
jo , nes reikia array padaryt, nes tu uzklausa o ne atsakyma kitaip atvaizduoji, MAnjack padarė :)
Parašė Deiviux.eu· 2009 Gru. 25 11:12:20
#9
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/.../custom_pages.php(71) : eval()'d code on line 2
Aš ir ankčiau bandžiau su mysql_fetch_array, bet visąlaiką mesdavo tokį error'ą
Vedu tik tai ką MAnjack parašė... ?|
Parašė Kelmas· 2009 Gru. 25 12:12:33
#10
Norint išaiškinti kodėl meta mysql_fetch_array() klaidą, reikia mysql_query() atskirai parašyti ir su SQL klaidos išvedimu!
$query = mysql_query("<...>");
if ($query) {
$sql = mysql_fetch_array($query);
print $sql['vidurkis'];
} else {
print mysql_error();
}
Redagavo Kelmas· 2009 Gru. 25 12:12:15
Parašė Deiviux.eu· 2009 Gru. 25 12:12:05
#11
Dėkui Karoli, susitvarkiau atrodo, iškart suveikė, radau klaidą. +10 ;)
Parašė Deiviux.eu· 2009 Gru. 25 12:12:58
#12
Ok, dar vienas klausimas, jei man dabar išveda va taip:
5.000
o man reikia kad išvedinėtu tik su dviejais skaičiais po kablelio t,y
5.00
Kaip padaryti tai?
Parašė MAnjack· 2009 Gru. 25 12:12:00
#13
sprintf("%01.1f", $sql['vidurkis']);
Tik nežinau ar tikrai šita f-ja čia tiks.
Parašė Deiviux.eu· 2009 Gru. 25 12:12:29
#14
Tai, šita tinka, dėkui ;)