我正在开展一个需要评级系统的项目。我使用kartik小部件来评价,但现在我需要一些代码来显示费率。总星数为5如果用户获得4颗星,则将填充4颗星,并且一颗星将为空。我是在自定义编写上做的,我需要一些有效的代码。
root
如何使用循环
完成同样的工作答案 0 :(得分:1)
尝试这样的事情:
public static function rate($rate)
{
if (!is_null($rate)) {
$rate_int = $rate/0.5;
for($i=1; $i<=floor($rate); $i++){
echo "<i class='fa fa-star'></i>";
}
if(($rate_int % 2) == 0) {
for($i=1; $i<=5-$rate; $i++) {
echo "<i class='fa fa-star-o'></i>";
}
}
else
{
echo "<i class='fa fa-star-half-o'></i>";
for($i=1; $i<=5-($rate+1); $i++){
echo "<i class='fa fa-star-o'></i>";
}
}
}
else
{
echo "<i style='color: red'>Not Yet rated</i>";
}
}
答案 1 :(得分:0)
假设您拥有一组用户模型名称$ userModels,并且在此模型中,您有一个字段名称$ rate for rate 你可以调用你的静态函数
foreach( $userModels as $key => $value){
YourClass::rate($value->rate);
}