PHP递增var

时间:2017-01-24 14:57:54

标签: php if-statement increment var

我正在建造一个停车场应用程序,其中不同的用户有不同数量的停车位。此编号由数据库中的管理员设置。用户可以输入一个铭牌,然后将其添加到数据库中。我想要的是当用户占据所有位置时,他将无法再插入任何牌照。

但是,现在我现在有以下代码:

if(isset($_POST['number_plate'])){
  $numberPlate = $_POST['number_plate'];
  $user_id = $_SESSION['id'];

  $query = mysql_query("SELECT `parking_spots` FROM `login` WHERE `id` = ".$user_id." ");
  $row = mysql_fetch_assoc($query);
  $totalNumberOfSpots = $row['parking_spots'];  
  $occupiedNumberOfSpots = 0;

  $sql = "INSERT INTO amsterdam (numberplate, user_id) VALUES ('$numberPlate','$user_id')";
  if(mysql_query($sql))
  { 
    echo 'numberplate added';
    $occupiedNumberOfSpots++;

    if($occupiedNumberOfSpots == $totalNumberOfSpots) 
    {
        echo "There are no more spots avialable";
    }
  }
  else 
  { 
    echo 'Something went wrong!';
  }
}

但是当我回显$ occupiedNumberOfSpots变量时,它会一直返回1并且每次添加数字时都不会递增。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

这是因为每次向数据库添加一个盘子时都运行相同的代码。

这个:

$occupiedNumberOfSpots = 0;

也应该从db中获取。我想它应该是这样的:

$totalNumberOfSpots = 100; // for example 
$occupiedNumberOfSpots = $row['parking_spots']; // taken from db

而不是:

$totalNumberOfSpots = $row['parking_spots'];  
$occupiedNumberOfSpots = 0;