有更简单或更好的方法吗?

2023-12-31

我目前正在开发一个网站(由带有论坛的 cms 组成),我想为每个用户提供执行特定任务的积分(每次都是 ++),这最终应该给他们一个排名。

例如。如果用户发了一篇帖子,他们会得到 5 分,如果用户提交了一个话题/主题,他们会得到 20 分,依此类推,如果分数超过 M 并低于 MX,则排名将是R等级等。

M = 获得排名所需的最低分数。

MX = 获得排名所需的最大积分。

R = 等级(例如初学者、大师等)。

希望一切都清楚,它有点像传统的论坛积分系统,您为帖子提供积分 - 这将为他们提供显示标题/排名。

我目前将点存储在 MySQL 数据库中,并通过 PHP 使用 if 语句分配排名,如下所示:

if ($points > 0 && < 100) {  
    $rank = 'Beginner';  
}  

是它们的某种类、库、函数、公式、方法;您可以建议哪个可以使这更容易,或者您能想到更好的方法吗?

Cheers!


您不需要同时存储最小值和最大值。 (我想,除非你的排名的分值不连续。)我将通过将你的排名放入一个数组中来做到这一点,并按该排名的最小值索引,以相反的顺序:

$ranks = array(
    500 => 'Cthuloid',
    250 => 'Veteran',
    100 => 'Beginner',
    50 => 'Noob'
);

然后编写一个短路循环来查找第一个大于或等于用户分数的排名:

function getRankOfScore($score)
{
    foreach ($ranks as $value => $name) {
        if ($score >= $value) {
            return $name;
        }
    }
    return 'Unranked';
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有更简单或更好的方法吗? 的相关文章

  • PHP - Filter_var 替代方案?

    我构建了一个 php 脚本来输出以表单形式发布的数据 但遇到了问题 网站将运行的服务器运行 PHP 5 1 6 此版本的 PHP 不支持 filter var 我需要知道短期内的替代方案 最好是昨天 但在 Google 或 Stack Ov
  • facebook php - 如何获取专辑封面照片

    我需要使用 PHP SDK Facebook 获取专辑封面照片 我尝试 https graph facebook com ALBUM ID picture type album 但我得到默认图像 例如 获取用户 https graph fa
  • SMTP 配置在生产中不起作用

    我正在尝试在提交表单时发送电子邮件 我正在使用 PHPMailer 使用以下配置发送邮件 mail new PHPMailer mail gt isSMTP mail gt Host mail example in mail gt Port
  • .htaccess 异常导致主目录出现问题

    这是我的目录结构 localhost or livehost app bootstrap public vendor code demo 这是我的 htaccess
  • 当sql连接中存在两个同名列时,如何从一个表列中获取值

    当我连接两个具有相同名称列的表时 我目前面临着尝试获取值的问题 例如 table1 date和table2 date 每个表中的日期不同 我将如何获取 日期 本例中的表1 我目前正在跑步 while row mysqliquery gt f
  • 为什么这会返回资源 id #2? [复制]

    这个问题在这里已经有答案了 可能的重复 我如何从 PHP 中的 MySql 响应中 回显 资源 id 6 https stackoverflow com questions 4290108 how do i echo a resource
  • 在字符串中间添加一个字符

    可能有一个简单的解决方案可以解决这个问题 但会引起面部表情 我将时间存储为 4 个字符长的字符串 即 1300 我试图将该字符串显示为 13 00 我觉得必须有一个比我现在正在做的更优雅的解决方案 我目前有 startTime get fi
  • 第三个下拉菜单不从数据库填充

    我有以下 Index php
  • 使用先前的反向引用作为命名捕获组的名称

    有没有办法使用对先前捕获组的反向引用作为捕获组的名称命名捕获组 这可能不可能 如果不可能 那么这就是一个有效的答案 下列 data description some description preg match data matches p
  • 语法错误,第 288 行出现意外的“endif”(T_ENDIF)[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我一直在离线处理我的 WordPress 网站的此代码错误 解析错误 语法错误 homez 541 photoher marie
  • WordPress 分页自定义帖子类型

    我有一个名为 新闻 的页面 使用页面模板page newslist php 它应该显示来自自定义帖子类型 也称为新闻 的帖子 我意识到两者具有相同的名称会导致问题 因此在注册自定义帖子类型时 我进行了重写以将其与页面区分开来 rewrite
  • 使用 XSLT 将 XML 转换为 SQL

    由于我无法控制的原因 我将获得一个 XML 文件和一个 XSLT 文件 该文件可以将 XML 文件转换为 SQL 代码或错误 现在让我们假设我们可以信任提供 XML 文件的人不会在 XML 中包含危险的构造 我什至不知道是否应该使用 Sim
  • fgetcsv 在特定行打开?

    有没有办法使用 fgetcsv 在特定行上打开 我有一个非常大的 csv 想通过 ajax 一次运行大约 100 行 我可以轻松停止 while 循环 但如何在特定行上打开 或者这是不可能的 从第 100 行开始读取没有简单的方法 但您可以
  • MySQL PHP邮政编码比较具体距离

    我试图找出比较一个邮政编码 用户提供的 和一大堆其他邮政编码 现在大约有 200 个邮政编码 之间的距离的最有效方法 相对于加载时间 但它会随着时间的推移而增加 我不需要任何精确的东西 只是在球场上 我下载了整个美国的邮政编码 csv 文件
  • phpunit测试调用其他需要mock的类方法的方法

    我正在尝试创建一个非常标准的单元测试 在其中调用一个方法并断言它的响应 但是我正在测试的方法调用同一类中的另一个方法 该方法做了一些繁重的工作 我想模拟该方法 但仍按原样执行我正在测试的方法 仅使用从调用另一种方法返回的模拟值 我简化了示例
  • 如何仅使用 PHP5 RecursiveDirectoryIterator 类递归显示具有特定文件类型的文件夹和子文件夹

    您好 我正在尝试使用 FilterIterator 上的扩展来获取 RecursiveDirectoryIterator 类 但由于某种原因 它仅在根目录上进行迭代 我的代码是这样的 class fileTypeFilter extends
  • PHP 数组通过 JSON 转为 jquery 数组

    我有点困惑为什么以下不起作用 get php
  • 检查条件并通过 Zend 中的 Regex 识别 url 中的模式

    我正在实现 Zend Regex 路由 并且必须对 url 执行多次检查 例如 如果这是我的网址 http localhost application public index php module controller action 这是
  • php curl 使用 GET 发送变量 奇怪的结果

    我正在尝试调用远程站点上页面中的网址 决定使用curl 在远程站点上 url 变量显示为 REQUEST Array var1 gt val1 amp var2 gt val2 amp var3 gt val3 被调用的url是 http
  • 使用 php-ews(Exchange Web 服务)在特定日期后获取电子邮件

    在我的 PHP 脚本中 我需要弄清楚如何检索指定消息 ID 之后或特定日期之后的所有电子邮件 两者都可以 我只需要检索自上次抓取收件箱以来的新电子邮件 这个收件箱每天收到数千封电子邮件 而且我在 30 天内无法删除任何电子邮件 对于初始导入

随机推荐

  • 路由关注和多态模型:如何共享控制器和视图?

    给定路线 Example Application routes draw do concern commentable do resources comments end resources articles concerns commen
  • GeoPandas 中的格式/圆形数字图例标签

    我正在寻找一种方法来格式化 舍入这些地图中的数字图例标签 plot GeoPandas 中的函数 例如 gdf plot column pop2010 scheme QUANTILES k 4 这给了我一个有很多小数位的图例 我希望图例标签
  • 将应用程序渲染到主体时,语义 UI 侧边栏会使用 ReactJS 抛出控制台错误

    有什么方法可以在不使用 HTML 正文中的 id 标签的情况下将 Semantic UI 侧边栏渲染到 React 应用程序中 我想避免必须将 React 组件渲染到 HTML 正文中的 tagis 例如不使用 div div 我正在使用
  • 将 Scala 类作为参数传递?

    我希望将一个类作为参数传递给 Scala 函数 如下所示 def sampleFunc c Class List Any 附带问题 参数中的类型应该是 Class 还是 Class 我传递 Class 类型的原因是检查对象是否属于特定类型
  • 如何将 UIImageView 设置为圆角以适应宽高比模式

    我通常使用以下代码来设置圆角 imageView layer cornerRadius 10 当 imageView 设置为 Aspect Fill 时 它会起作用 但是当imageView设置为Aspect Fit模式时 imageVie
  • 在 Node.js 上使用 aes-ecb 加密二进制数据

    我尝试在 Node js 上进行加密 但糟糕的是我无法获得与在线网站相同的结果 我想用二进制密钥加密一些二进制数据 我使用教程节点站点 https nodejs org api crypto html crypto class cipher
  • nginx - 从上游服务器读取自定义标头

    我使用 nginx 作为反向代理 并尝试从上游服务器 Apache 的响应中读取自定义标头 但没有成功 Apache 的响应如下 HTTP 1 0 200 OK Date Fri 14 Sep 2012 20 18 29 GMT Serve
  • ListView 适配器和焦点状态

    我有一些列表视图 这是项目视图的代码
  • Matplotlib 图未使用 ipywidgets 滑块更新

    我有以下代码来生成一个简单的图表 matplotlib notebook from ipywidgets import import numpy as np import matplotlib pyplot as plt x np lins
  • 无法自动选择 Xcode 项目

    当我在正确的目录中输入 pod install 时 我总是得到这个 分析依赖关系 Could not automatically select an Xcode project Specify one in your Podfile lik
  • SQL 计算所有行而不是计算单个行

    我有一个从数据库请求数据的 SQL 语句 SELECT ID To Poster Content Time ifnull Aura 0 as Aura FROM SELECT FROM SELECT DISTINCT FROM messag
  • WCF 票证基础身份验证

    我正在编写使用 wsHttpBinding 绑定的 WCF 服务 该服务不是托管在 IIS 中而是托管在 Windows 服务中 我希望在服务中有一个 Login user pass 方法 如果用户有效 它将向客户端提供一张票证 谁能帮助我
  • Swift 4 Decodable:嵌套数组的结构

    鉴于以下 JSON 文档 我想创建一个struct有四个属性 filmCount Int year Int category 字符串 以及actor 演员阵列 filmCount 5 year 2018 category Other act
  • 将循环缓冲区就地移动/对齐/旋转为零

    我正在使用循环缓冲区将数据推送到列表的任一端 完成后 我想对齐缓冲区 以便列表中的第一个元素位于位置零 并且可以像常规数组一样使用 而无需任何花哨的索引开销 所以我有我的循环list有能力N 它有n从任意索引开始的元素f 移动 旋转所有元素
  • 用鸭子类型语言模拟静态类型的各个方面

    在我目前的工作中 我正在构建一套严重依赖于对象的 Perl 脚本 使用 Perl 的bless 在哈希上尽可能接近 OO 现在 由于缺乏更好的表达方式 我公司的大多数程序员都不是很聪明 更糟糕的是 他们不喜欢阅读文档 并且似乎在理解其他人的
  • 检查 SaveAs 是否成功 VBA

    我需要什么样的语句来检查vba中的SaveAs操作是否成功 Sub saveBookAs wb SaveAs fileName newFile End Sub 您不需要语句来检查工作簿是否已保存 如果Save As进程失败 那么该行将自动出
  • 详细命名空间常用来做什么

    在一些较大的项目或库 例如 Eigen 中 您可以看到诸如internal or detail 我明白什么是internal有好处 但是什么是detail常用于 是否有任何通用约定将代码分发到这样的命名空间中 特别是在具有公共接口的库的情况
  • Flutter Firebase Cloud Messaging onMessage 被触发两次

    我已经实现了 firebase messaging flutter 包建议的基本配置 但是 每次我在 flutter 应用程序上收到通知时 onMessage 都会被触发两次 我正在使用 firebase messaging 6 0 9 D
  • 在 Clojure 中使用 data.zip 解析 XML 时出现 OutOfMemoryError

    我想使用 Clojure 从维基词典 XML 转储中提取标题 I used head n10000 gt out 10000 xml创建原始怪物文件的较小版本 然后我用文本编辑器进行修剪 使其成为有效的 XML 我根据里面的行数重命名了文件
  • 有更简单或更好的方法吗?

    我目前正在开发一个网站 由带有论坛的 cms 组成 我想为每个用户提供执行特定任务的积分 每次都是 这最终应该给他们一个排名 例如 如果用户发了一篇帖子 他们会得到 5 分 如果用户提交了一个话题 主题 他们会得到 20 分 依此类推 如果