php - 根据评分在前端显示星星

标签 php jquery html css

我在后端创建了一个字段 使用单选按钮选择产品评级为 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>&#x2605</span>";
    } else {
        $result .= "<span>&#x2606</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/

相关文章:

php - 链接到新页面并打开特定模式

php - mysql "boolean given"没有 mysql 错误

javascript - 根据类名对列表项进行分组和嵌套

PHP pdo 获取结果集中某个键的所有值

php - 如何在 mysql_fetch_assoc 结果中传递一个 post 变量

javascript - 函数不扣除第一个值

javascript - 使用 jQuery 更改后,使用 @mediaquery 重置显示属性

html - CSS 未使用 DIV asp.net c# 正确布局页面

javascript - 单击更改 iframe 元素的类

javascript - 是否可以在extjs面板中显示div的内容?