PHP 排名和选择操作

标签 php mysql database mysqli

我正在尝试制作一个基于文本的游戏,但我似乎无法弄清楚为什么这段代码不起作用。

  • 它在核心文件中有一个 mysqli 连接。
  • 它具有数据库中的机会值。
  • 排名在数据库中设置。
  • 我没有收到任何错误,只是没有显示“成功”和“失败”消息。

代码:

<?php

include_once "core.php";

function checkRandom($chance){
return rand(1, 100) <= (int)$chance;
}

$userid = '1';
$getAllQuery = $data->query("SELECT * FROM players WHERE id = '$userid'") or die($data->error);
while ($getall = $getAllQuery->fetch_assoc()) {
$rank = $getall['rank'];
$chance1 = $getall['crime_chance1'];
$chance2 = $getall['crime_chance2'];
$chance3 = $getall['crime_chance3'];
$chance4 = $getall['crime_chance4'];
$chance5 = $getall['crime_chance5'];
$chance6 = $getall['crime_chance6'];
}

if (isset($_POST['crime'])) {

$choice = $_POST['crime'];
$pass = 0;
$fail = 0;

if ($choice == 1 && $rank <= 1) {
  echo "3esd";
  if (checkRandom($chance1)) {
    echo "Success";
  } else {
    echo "Failure";
  }
} else {
  if ($choice == 2 && $rank <= 2) {
    if (checkRandom($chance2)) {
      echo "Success";
    } else {
      echo "Failure";
    }
  }
}

}
echo "<form method='POST' action='#'>";
if ($rank >= 1) {
echo "<label><input type='radio' name='crime' value='1'>Crime 1 " . $chance1 . "% chance</label><br />";
if ($rank >= 2) {
echo "<label><input type='radio' name='crime' value='2'>Crime 2 " . $chance2 . "% chance</label><br />";
if ($rank >= 3) {
echo "<label><input type='radio' name='crime' value='3'>Crime 3 100% chance</label><br />";
}
}
}
echo "<input type='submit'>
</form>";
?>

我真的很感激一些帮助。 :D

最佳答案

除以下情况外,此代码似乎工作正常:

1) 没有任何东西可以处理 Rank 3+,因为 IF 语句是 <= 1 或 <= 2 且 3 是 > then 1 和 3。

2) 如果您选择第一个选项,并且排名不是 1,则代码不会返回任何内容,因为第一个 IF 语句仅限于所选选项为 1 并且排名 <= 1。

3) 如果您选择第二个选项,并且排名不是 2,则代码不会返回任何内容,因为第二个 IF 语句仅限于所选选项为 1 并且排名 <= 2。

关于PHP 排名和选择操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24170767/

相关文章:

mysql - 在 CASE .. WHEN 与 WHERE 子句上添加条件?

mysql - 电影关系数据库设计

php - 如何在我的网站中实现 HSTS

php stream_get_contents 在流的末尾挂起

MySQL:总结两条语句

python - 编程错误 : column "xxxxx" of relation "xxxx" does not exist

android - 我应该保留远程数据库的本地副本吗?

php - 如何对 Laravel Controller 进行简单测试?

mysql - 两个不同表之间的INSERT和UPDATE(+增加值)php mysql

php - connect_error 什么都不返回,但代码不工作