首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于while查询的PHP问题

关于while查询的PHP问题
EN

Stack Overflow用户
提问于 2010-01-12 04:39:59
回答 2查看 81关注 0票数 0

有没有人能帮我弄清楚怎么做。

我有一个游戏,玩家可以使用药水来增强他们的能力。

这是一个计时器,它工作得很好。然而,当玩家使用2种不同类型的药水时,我现在希望添加到这个查询中。我可以让它工作,但不是100%如我所愿。

玩家使用药剂1,其属性提升20%,持续20分钟。然后玩家使用药剂2,他们的属性提升60%,持续20分钟。

使用我目前的代码

代码语言:javascript
复制
$check = sprintf("SELECT time,strmod FROM `effects` WHERE `userid` = %u", $userid);

$exe = mysql_query($check);

while($bonus = mysql_fetch_array($exe))
{

$last = $bonus['time'];

$strmod=$bonus['strmod']);

它将显示用户的奖励(本例中的基本强度为2,364,195)

药剂1增加你的基础力量到2837034 (+20%)药剂2增加你的基础力量到3782712 (+60%)

有没有一个解决方案,我可以得到第二个60%的药水,以考虑从第一个药水收到的奖金。所以2837034的60%而不是2364195。在我考虑重新编写整个代码之前:D

我希望这是很难解释清楚的。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2010-01-12 04:56:31

我假设数据库表包含有效药剂的列表。尝试在while循环中保留值的方法……

代码语言:javascript
复制
$multiplier = 1;
while($bonus = mysql_fetch_array($exe))
{
    $last = $bonus['time'];
    $strmod=$bonus['strmod']);
    $multiplier += $strmod/100; // convert from percent to decimal
}

$currStrength = $multiplier*$baseStrength;
票数 1
EN

Stack Overflow用户

发布于 2010-01-12 04:49:21

可能不是你这样做的,因为你没有记录原始播放器的HP,你只有当前的HP (在应用了修改器之后)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2044750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档