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 ;)