如何在php yii2中使用for循环创建评级系统

时间:2017-05-22 13:34:06

标签: php for-loop yii2 rating rating-system

我正在开展一个需要评级系统的项目。我使用kartik小部件来评价,但现在我需要一些代码来显示费率。总星数为5如果用户获得4颗星,则将填充4颗星,并且一颗星将为空。我是在自定义编写上做的,我需要一些有效的代码。

root

如何使用循环

完成同样的工作

2 个答案:

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

  }