php - 如何根据数据库中存在的值显示星号(1 到 5)
问题描述
我开发了一个页面,显示用户成就的详细信息。我有一个包含用户级别的表。
用户(id、用户名、密码、sum_score、级别)
根据级别中存在的值(即从 0 到 5),我想在用户页面中显示星星。
我尝试了类似的东西:
$stars = "";
$s = 1;
while ($s<=$lvl['level']) {
$stars.="★";
$s++;
}
echo "$stars";
上面的代码根据级别生成星号。(即,如果级别为 1,则在页面上显示一颗星)。但我想显示 5 颗星并根据表中的级别填充星星。有人可以帮我吗。
解决方案
在这种情况下,您可以使用简单的for
循环,而不是使用 while。
假设$lvl['level']
正确获取数据库的数据(即 5),您可以循环直到 5 将其与$lvl['level']
值进行比较,并根据 if 语句的结果显示星号。像这样:
$stars = "";
for ($i = 1; $i <= 5; $i++) {
$i <= $lvl['level'] ? $stars .= "★" : $stars .= "☆";
}
echo $stars;
推荐阅读
- javascript - JWK“key_ops”成员与 Web Crypto 调用指定的成员不一致
- f# - 如何使用 F# 实现这个通用 C# 接口?
- javascript - innerHTML Web 组件中的 @import CSS 文件不起作用
- java - 请求超时 - JMeter HTTP2 插件
- sql - 让 Visual Studio SQL 只打印一次员工姓名
- python - 从多个文件夹中的多个 .xml 文件中提取数据
- android - 如何为 muc 添加图标/头像?
- haskell - 如何在 Haskell 中用守卫替换大小写或匹配模式?
- java - 如何在不使用 ImageView 的情况下从 API 端点下载图像或位图?
- angular - 如何让子组件知道输入发生了变化?