我尝试按照此问题中的说明操作:STAR rating with css 但我只是一个大问题。
当我这样做时:
<span class="stars">1.75</span>
或
$foo='1.75';
echo '<span class="stars">'.$foo.'</span>
星星正确显示,但我一做到了:
while($val = mysql_fetch_array($result))
{
$average = ($val['services'] + $val['serviceCli'] + $val['interface'] + $val['qualite'] + $val['rapport'] ) / 5 ;
<span class="stars">.$average.</span>
}
星星停止工作
我仔细检查了mysql中的数据类型:
他们都是TINYINT(2)
我试过这个:
$average = intval($average);
但它仍无效,
答案 0 :(得分:1)
我认为您的问题可能是您拥有的值大于该示例中允许的值。
您要做的是对项目进行加权,使$average
的总数小于或等于5.
$average = (
( $val['services'] / $maxServices )
+ ( $val['serviceCli'] / $maxServiceCli )
+ ( $val['interface'] / $maxInterface )
+ ( $val['qualite'] / $maxQualite )
+ ( $val['rapport'] / $maxRapport )
);
加权可以是均匀的,因此每个值都会小于或等于1,或者它们可能具有不同的权重,因此services
的价值超过qualite
(依此类推)。
答案 1 :(得分:0)
不,var_dump($val)
给了我从我的大请求中获得的所有值(text,varchar,int)[例如:
array(38) { [0]=> string(28) "http://www.crystal-serv.com/"
["siteweb"]=> string(28) "http://www.crystal-serv.com/"
[1]=> string(1) "0" ["offreDedie"]=> string(100)
"tick rouge" [2]=> string(1) "0" ["coupon"]=>
..........