我在后端创建了一个字段 使用单选按钮选择产品评级为 1 星、2 星、3 星、4 星和 5 星
显示相同时在前端
<p class="tool-tip"><a href="#" onMouseover="ddrivetip('Expert Rating')"; onMouseout="hideddrivetip()">Expert Rating</a> - <?php echo $this->prodDet->v_child_safety?></p>
它将评分以数字形式显示为 - 1 星、2 星、3 星、4 星和 5 星
谁能指导如何让前端显示星级而不是数值而不使页面加载变慢的最佳方法
这不是重复的 我只想让用户在前端查看星级评分 他们不能修改评级或添加评级,只是管理员将评级指定为 1 星到 5 星,并且可以在前端查看 现在我希望星星显示在
谢谢
最佳答案
首先,确保 $this->prodDet->v_child_safety
只返回一个数字。因此,它应该只返回 1、2、3 等而不是 1 星、2 星。然后将您的代码替换为:
<?php
$stars = (int)$this->prodDet->v_child_safety;
$count = 1;
$result = "";
for($i = 1; $i <= 5; $i++){
if($stars >= $count){
$result .= "<span>★</span>";
} else {
$result .= "<span>☆</span>";
}
$count++;
}
?>
<p class="tool-tip"><a href="#" onMouseover="ddrivetip('Expert Rating')"; onMouseout="hideddrivetip()">Expert Rating</a> - <?php echo $result?></p>
如果您想使用星星的图片,请使用此代码:
<?php
$stars = (int)$this->prodDet->v_child_safety;
$result = "";
for($i = 1; $i <= $stars; $i++){
$result .= "<img src='link_to_image_here.png'/>";
}
?>
<p class="tool-tip"><a href="#" onMouseover="ddrivetip('Expert Rating')"; onMouseout="hideddrivetip()">Expert Rating</a> - <?php echo $result?></p>
关于php - 根据评分在前端显示星星,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44491290/