php - PHP级别系统?

标签 php mysql sql system

我尝试用 php 为我的用户构建一个级别系统。到目前为止我只有一个 mysql 表...

 id / xp (default 0) / xp_needed (default 5) / level (default 1)

我的用户面板中还有一个栏,显示需要多少 XP,$details 是 mysql 表列的数组。

$xp_needed = ($details['xp'] / $details ['xp_needed']) * 100;

echo'<p>XP Needed:</p><div class="bar Tooltip" title="' . $details['xp'] . '/' . 
$details['xp_needed'] . '"><span style="width: ' . $xp_needed . '%;"></span></div>';

我无法解决的是一个函数,用于检查 xp 是否超过所需的 xp,如果是,则将级别更新为下一个整数,将所需的 xp 更新为 5 * 级别并结转剩余部分(如果有) xp_needed 到新的 xp_needed?

感谢您的耐心等待

最佳答案

编写一个函数xpIncrease($amount),并在您增加用户 xp 的任何地方调用它。

它应该是这样的:

function xpIncrease($amount) {
if ($amount>=$details['xp_needed']) {
    $amount-=$details['xp_needed'];
    $details['xp_needed']=$newValue; //user leveled up, update xp_needed
    xpIcrease($amount); //call it again because user may level up twice or more...
} else {
    //just add it with SQL
}
}

关于php - PHP级别系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7311928/

相关文章:

sql - 实现对性能和代码影响最小的软删除

sql - Postgresql 在函数内的查询上使用 VARIADIC

mysql - 如何更改mysql服务的路径

mysql - 计算数据库中的列数

php - 使用实体对 Symfony 表单进行单元测试

php - 在 PHP 中使用 preg_match 通过多个分隔符拆分字符串

php - 跟踪像素插入数据库时​​生成 500(内部服务器错误)

sql - 是否有任何行保证在连接到 1 时分组在一起 :many table?

php - 如何从字符串创建对象?

php - 咨询阵列 VS 咨询数据库以验证数据