【问题标题】:progress-bar changes color based on the value进度条根据值更改颜色
【发布时间】:2020-05-31 15:03:09
【问题描述】:

我有一个 progress_profile 字段,我在 mysql 中输入从 1 到 100 的值,

$progress = $row['progress_profile'];

在引导条码中我输入了这段代码

<p class="bioheading">Profile Completed Progess</p>
<div class="progress">

<div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: <?php echo $progress; ?>%;"><?php echo $progress . '% Profile Completed'; ?>
</div>
</div>

我想根据 progress_profile 中输入的值, 更改栏的颜色

例子”

从 1 到 49 红色

从 50 到 90 的蓝色

从 91 到 100 的绿色

谢谢

【问题讨论】:

    标签: bootstrap-4 field


    【解决方案1】:
    <?php
    $progress = $row['progress_profile'];
    $color = '';
    if ($progress > 90) {
        $color = 'green';
    }else if($progress >= 50){
        $color = 'blue';
    }else{
        $color = 'red';
    }
    ?>
    

    在进度条前加上这个sn-p!

    在您的进度条代码中,将 div 的样式 background-color 设置为 $color,如图所示。

    因此您的代码应该是...

    <p class="bioheading">Profile Completed Progess</p>
    <div class="progress">
    
    <div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: <?php echo $progress; ?>%;background-color: <?php echo $color; ?>"><?php echo $progress . '% Profile Completed'; ?>
    </div>
    </div>
    

    给你的一个建议:

    您应该以这种方式实现它,而不是手动设置颜色, 通过使用引导标准颜色!

    变化:

    片段:

    <?php
    $progress = $row['progress_profile'];
    $color = 'bg-';
    if ($progress > 90) {
        $color .= 'success';
    }else if($progress >= 50){
        $color .= 'primary';
    }else{
        $color .= 'danger';
    }
    
    ?>
    

    进度条码:

    <p class="bioheading">Profile Completed Progess</p>
        <div class="progress ">
    
        <div class="progress-bar <?php echo $color ?>" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: <?php echo $progress; ?>%;"><?php echo $progress . '% Profile Completed'; ?>
        </div>
        </div>
    </body>
    

    注意:你可以添加sn-p inline,但要在$progress['progress_profile']之后添加。

    【讨论】:

    • 不起作用,不从字段中取数据 $progress = $row['progress_profile'];
    • Alex 在$progress = $row['progress_profile']之后添加sn-p
    • 从这里获取$progress = 60.0;
    • 是的删除这行我刚刚添加它用于演示目的!
    • 你能分享一张图片,你得到了什么,浏览器截图?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多