如何管理if - else here ..

时间:2013-01-05 02:43:42

标签: php mysql

我知道我的代码很糟糕且不安全,但我只是想在开始进行更改之前将其整体工作。

所以我正在做一个基本的商店,我希望它检查用户是否有合适的金额,如果他这样做,减去物品的金额并给他物品,如果他没有合适的金额,我希望它不要减去任何东西而不给他这个项目,并回应他买不起的东西。我尝试这样做没有成功,所以我删除了大部分代码,并希望在这里得到一些帮助。

这是我还有的。 如果我拿出if语句,它将减去钱并添加项目,但我需要限制它。我对这一切都很新,所以任何帮助都表示赞赏:)

$sql23 = "SELECT * FROM users WHERE username='".$_SESSION['username']."')";
$result = mysql_query("SELECT * FROM users WHERE username='".$_SESSION['username']."'");
while($row = mysql_fetch_array($result)){

   echo $row['money'];
   if (isset($_POST['pokeball'])) {
      if ($row['money'] >= 2000) {
          echo "You have bought a pokeball!" ;
          mysql_query("UPDATE users SET money=money-2000 WHERE username = '".$_SESSION['username']."'") 
            or die(mysql_error());

          mysql_query("UPDATE users SET pokeball=pokeball+1 WHERE username = '".$_SESSION['username']."'")
            or die(mysql_error());  
       } else {
          echo "You can't afford a pokeball!";

       }


    }

}

2 个答案:

答案 0 :(得分:3)

正如您已经指出您的代码不是很好,但是回答您的实际问题/问题。 因为整个事情取决于一个if语句,所以假设发生的一切都应该在if语句中。

 $sql23 = "SELECT * FROM users WHERE username='".$_SESSION['username']."')";
$result = mysql_query("SELECT * FROM users WHERE username='".$_SESSION['username']."'");
while($row = mysql_fetch_array($result)){

echo $row['money'];
if (isset($_POST['pokeball'])) {
    if ($row['money'] >= 2000) {
        echo "You have bought a pokeball!" ;
        mysql_query("UPDATE users SET money=money-2000 WHERE username = '".$_SESSION['username']."'") 
            or die(mysql_error());

        mysql_query("UPDATE users SET pokeball=pokeball+1 WHERE username = '".$_SESSION['username']."'")
            or die(mysql_error());  
    } else {
        echo "You can't afford a pokeball!";

}
}

}

另请注意,mysql_query已弃用,应替换为mysqli_query: http://php.net/manual/en/mysqli.query.php

答案 1 :(得分:1)

<?php
$playermoney = mysql_query("SELECT * FROM users WHERE username = '".$_SESSION['username']."'") or die(mysql_error());

if (isset($_POST['pokeball'])) {
    if ($row['money'] >= 2000) {
        echo "You have bought a pokeball!" ;
        mysql_query("UPDATE users SET money=money-2000,pokeball=pokeball+1 WHERE username = '".$_SESSION['username']."'") 
            or die(mysql_error());

    } else {
        echo "You can't afford a pokeball!";
}
?>