PHP Bana bir numara türü dönen değil

2 Cevap php

I tried to follow the instructions in this question: STAR rating with css but I've just a big problem.

Ben ne zaman:

<span class="stars">1.75</span>

veya

$foo='1.75';
echo '<span class="stars">'.$foo.'</span>

the stars is correctly shown, ancak en kısa sürede benim yaptığım gibi:

while($val = mysql_fetch_array($result)) 
{  
$average =  ($val['services'] + $val['serviceCli']  + $val['interface'] + $val['qualite'] + $val['rapport'] )  / 5 ;

<span class="stars">.$average.</span>
}

the stars stops working

I double checked the data type in mysql:
they're all TINYINT(2)

ve ben bu çalıştı:

$average = intval($average);

but it's still not working,

2 Cevap

Ben senin sorunun var değeri, o örnekte izin 5'ten büyük olduğunu olabilir düşünüyorum.

Ne yapmak istediğiniz Eşyaları ağırlığı için toplam $average daha az ya da 5 eşit olduğunu böyle.

$average = (
    ( $val['services'] / $maxServices )
    + ( $val['serviceCli'] / $maxServiceCli )
    + ( $val['interface'] / $maxInterface )
    + ( $val['qualite'] / $maxQualite )
    + ( $val['rapport'] / $maxRapport )
);

Ağırlık da olabilir, bu yüzden her değerleri daha az ya da 1'e eşit olacak, ya da çok services (ve bu yüzden) qualite fazla değer, farklı ağırlıklara sahip olabilir .

hayır, var_dump($val) bana benim büyük isteği (metin, varchar, int) [örnek almak TÜM değerini verir:

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"]=> 

..........