我有一个5分评级系统我试图改变它如何显示评级。
所以在5点之前所有白色如果没有评级,那么颜色在评级蓝色..我会通过fontawesome字形显示这些点。所以它会输出其中的5个。
但现在我正在尝试更改它,其中5分评级将显示进度条,5分将用作进度长度的百分比。
对不起,如果我含糊不清,我可以根据需要解释更多。它当前显示所有条形和评级值,但只显示一次。所以它没有按照我想要的方式运作。
<?php if(count($languages) > 0) { ?>
<div class="col-md-6">
<ul class="no-bullets">
<?php foreach($languages as $index => $language) { ?>
<li>
<span class="skillset-title"><?= $language->title; ?> (<?= $language->endorsement; ?>)</span>
<span class="skillset-rating">
<?php
$levelpercentage = 0;
for($stars == 1; $stars <= 5; $stars++) {
if ($stars == 5):
echo $levelpercentage = 100;
elseif ($stars == 4):
echo $levelpercentage = 80;
elseif ($stars == 3):
echo $levelpercentage = 60;
elseif ($stars == 2):
echo $levelpercentage = 40;
elseif ($stars == 1):
echo $levelpercentage = 20;
endif;
?>
<div class="progress-bar blue stripes">
<span style="width: <?= ($language->level >= $stars) ? $levelpercentage : '0'; ?>%;"></span>
</div>
<?php } ?>
</span>
</li>
<?php if(ceil(count($languages) / 2) == $index + 1) { ?>
</ul>
</div>
<div class="col-md-6">
<ul class="no-bullets">
<?php } ?>
<?php } ?>
</ul>
</div>
<?php } else { ?>
<div class="alert alert-warning">
No languages were found!
</div>
<?php } ?>
答案 0 :(得分:0)
它当前显示所有条形和评级值
这是因为您在for
循环中分配并回显了条形和评级值。
为$stars
变量分配了从1到5的每个值,在每一步显示条形。只需删除for
循环即可正常工作(假设您使用已定义的$stars
变量)
奖励:因为我心情愉快,所以我必须告诉你,建立$levelpercentage
变量的方法比使用if...else
更简单的方法来构建{1}}到5,只需使用:
$levelpercentage = $stars * 20;
答案 1 :(得分:0)
谢谢!这真的帮助了我。试图简化我想要做的事情。这就是我所做的,它似乎正在发挥作用。
<?php if(count($languages) > 0) { ?>
<div class="col-md-6">
<ul class="no-bullets">
<?php foreach($languages as $index => $language) { $stars = 0; $stars <= 5; $stars++; ?>
<li>
<span class="skillset-title"><?= $language->title; ?> (<?= $language->endorsement; ?>)</span>
<span class="skillset-rating">
<div class="progress-bar blue stripes">
<span style="width: <?= ($language->level >= $stars) ? $language->level * 20 : 0; ?>%;"></span>
</div>
</span>
</li>
<?php if(ceil(count($languages) / 2) == $index + 1) { ?>
</ul>
</div>
<div class="col-md-6">
<ul class="no-bullets">
<?php } ?>
<?php } ?>
</ul>
</div>
<?php } else { ?>
<div class="alert alert-warning">
No languages were found!
</div>
<?php } ?>