Reputation: 183
I've written this ratings function below and was wondering if it could be made smaller/simpler or better coded, it use shows an image based on percentage number within the function called
function rating( $number ) {
if ($number >= .0 && $number <= .099999) {
$star = '<img src="images/0.gif" alt="' . $number . '" />';
}
if ($number >= .10 && $number <= .199999){
$star = '<img src="images/10.gif" alt="' . $number . '" />';
}
if ($number >= .20 && $number <= .299999){
$star = '<img src="images/20.gif" alt="' . $number . '" />';
}
if ($number >= .30 && $number <= .399999){
$star = '<img src="images/30.gif" alt="' . $number . '" />';
}
if ($number >= .40 && $number <= .499999){
$star = '<img src="images/40.gif" alt="' . $number . '" />';
}
if ($number >= .50 && $number <= .599999){
$star = '<img src="images/50.gif" alt="' . $number . '" />';
}
if ($number >= .60 && $number <= .699999) {
$star = '<img src="images/60.gif" alt="' . $number . '" />';
}
if ($number >= .70 && $number <= .799999){
$star = '<img src="images/70.gif" alt="' . $number . '" />';
}
if ($number >= .80 && $number <= .899999){
$star = '<img src="images/80.gif" alt="' . $number . '" />';
}
if ($number >= .90 && $number <= .999999){
$star = '<img src="images/90.gif" alt="' . $number . '" />';
}
if ($number > .999999){
$star = '<img src="images/100.gif" alt="' . $number . '" />';
}
return $star;
}
heres how it is used:
rating(0.51087)
Upvotes: 0
Views: 408
Reputation: 225273
Sure, it just takes a little math.
function rating($number) {
return '<img src="images/' . floor($number * 10) * 10 . '.gif" alt="' . $number . '" />';
}
Upvotes: 6