Php 如何在yii中显示多星级?
我正在yii中开发CStar评级小部件。我的工作如下:Php 如何在yii中显示多星级?,php,yii,yii-components,Php,Yii,Yii Components,我正在yii中开发CStar评级小部件。我的工作如下: $review = Reviews::model()->findAll(); foreach($review as $review) { $rate=$review['rating']; $this->widget('CStarRating',array( 'name'=>'rating',
$review = Reviews::model()->findAll();
foreach($review as $review)
{
$rate=$review['rating'];
$this->widget('CStarRating',array(
'name'=>'rating',
'minRating'=>1,
'maxRating'=>5,
'starCount'=>5,
'value'=>$rate,
'readOnly'=>true,
));
echo "<br/>";
echo $review['title'];
echo "<br/>";
echo "<font color='brown'>".ucfirst($review['name'])."</font><br/>";
echo $review['body'];
echo "<hr/><br/>";
}
?>
$review=Reviews::model()->findAll();
foreach($review作为$review)
{
$rate=$review['rating'];
$this->widget('cstarting',数组(
“名称”=>“评级”,
“minRating”=>1,
“最大额定值”=>5,
“starCount”=>5,
“值”=>$rate,
“只读”=>true,
));
回声“
”;
echo$review['title'];
回声“
”;
echo“.ucfirst($review['name'])”
;
echo$review['body'];
回声“
”;
}
?>
当我在数据库中输入一个评论时,这是可以的,但是当我添加第二个评论时,两个评论星会混合在一起
在这种情况下,我应该怎么做?您正在使用小部件的“name”属性,因此javascript会变得混乱,因为将有多个输入具有相同的名称,您需要做的是为小部件使用“model”和“attribute”选项
$this->widget('CStarRating',array(
'attribute'=>'rating', //change to the attribute in your model
'model'=>$review,
'minRating'=>1,
'maxRating'=>5,
'starCount'=>5,
'value'=>$rate,
'readOnly'=>true,
));
您还需要重命名foreach中的变量,从:
$review = Reviews::model()->findAll();
foreach($review as $review)
到
您正在使用小部件的“name”属性,因此javascript会变得混乱,因为将有多个输入具有相同的名称,您需要做的是为小部件使用“model”和“attribute”选项
$this->widget('CStarRating',array(
'attribute'=>'rating', //change to the attribute in your model
'model'=>$review,
'minRating'=>1,
'maxRating'=>5,
'starCount'=>5,
'value'=>$rate,
'readOnly'=>true,
));
您还需要重命名foreach中的变量,从:
$review = Reviews::model()->findAll();
foreach($review as $review)
到
您是否尝试过重命名您的变量
$reviews=reviews::model()->findAll();foreach($reviews作为$review).
?您是否尝试过重命名您的变量$reviews=reviews::model()->findAll();foreach($review作为$review).
?有人能告诉我,我正在做同样的事情,但我无法显示星星,我只得到了单选按钮吗?我怎样才能得到星星呢?谢谢大家,我已经制作了如下属性变量$rate=$review['rating'];$this->widget('cstarting',array('name'=>'rating'.$i,'minRating'=>1,'maxrrating'=>5,'starCount'=>5,'value'=>$rate,'readOnly'=>true,)代码>嘿,有人能告诉我,我正在做同样的事情,但我无法向星星显示我只得到了单选按钮吗?我怎样才能得到星星呢?谢谢大家,我已经制作了如下属性变量$rate=$review['rating'];$this->widget('cstarting',array('name'=>'rating'.$i,'minRating'=>1,'maxrrating'=>5,'starCount'=>5,'value'=>$rate,'readOnly'=>true,)代码>