用新值增加字段

时间:2019-04-03 16:50:25

标签: php mysql

我有一个phpscript,它接受值(手动输入)并将其插入数据库的列中。现在,我想知道如何为输入的相同卡号将新值添加到现有值中。

if(isset($_POST['insert-btn'])){
  @$cardnumber=$_POST['cardnumber'];
  @$amount=$_POST['amount'];                            
  if($cardnumber=="" || $amount==""){
    echo '<script type="text/javascript">alert("Insert values in all fields")</script>';
  }
  else{
    $query = "insert into Client_Details values('$cardnumber',$amount/2)";
    $query_run=mysqli_query($con,$query);
    if($query_run){
        echo '<script type="text/javascript">alert("Values inserted successfully")</script>';
    }
    else{
        echo '<script type="text/javascript">alert("Values not inserted successfully")</script>';
    }
  }
}   
?>

例如,我有

card number: _________

Sale value: __________

现在对于同一卡号,应该添加在每个不同时间输入的销售值。如果有人可以帮助我。会很有帮助。

1 个答案:

答案 0 :(得分:0)

在将数据插入数据库之前,请检查数据库中是否已经存在卡号记录。 如果存在,请使用UPDATE查询,否则请使用INSERT查询。

尝试以下代码:

<?php


if (isset($_POST['insert-btn']))
    {
    @$cardnumber = $_POST['cardnumber'];
    @$amount = $_POST['amount'];
    if ($cardnumber == "" || $amount == "")
        {
        echo '<script type="text/javascript">alert("Insert values in all fields")</script>';
        }
      else
        {
        $newQuery = mysqli_query($con, "SELECT * FROM Client_Details WHERE cardnumber='" . $cardnumber . "'");
        if (mysqli_num_rows($newQuery) > 0)
            {
            $query = "UPDATE Client_Details SET amount = amount + '" . $amount . "' WHERE cardnumber = '" . $cardnumber . "'";
            }
          else
            {
            $query = "INSERT into Client_Details values('$cardnumber',$amount/2)";
            }

        $query_run = mysqli_query($con, $query);
        if ($query_run)
            {
            echo '<script type="text/javascript">alert("Values inserted successfully")</script>';
            }
          else
            {
            echo '<script type="text/javascript">alert("Values not inserted successfully")</script>';
            }
        }
    }

*相应地修改表名和列名