首页 > 解决方案 > 如何根据数据库中存在的值显示星号(1 到 5)

问题描述

我开发了一个页面,显示用户成就的详细信息。我有一个包含用户级别的表。

用户(id、用户名、密码、sum_score、级别)

根据级别中存在的值(即从 0 到 5),我想在用户页面中显示星星。

我尝试了类似的东西:

$stars = "";
$s = 1;
while ($s<=$lvl['level']) {
    $stars.="&#9733;";
    $s++;
}

echo "$stars";

上面的代码根据级别生成星号。(即,如果级别为 1,则在页面上显示一颗星)。但我想显示 5 颗星并根据表中的级别填充星星。有人可以帮我吗。

标签: phphtmlcss

解决方案


在这种情况下,您可以使用简单的for循环,而不是使用 while。

假设$lvl['level']正确获取数据库的数据(即 5),您可以循环直到 5 将其与$lvl['level']值进行比较,并根据 if 语句的结果显示星号。像这样:

$stars = "";

for ($i = 1; $i <= 5; $i++) { 
    $i <= $lvl['level'] ? $stars .= "&#9733;" : $stars .= "&#9734;";
}

echo $stars;

推荐阅读