我有一个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: __________
现在对于同一卡号,应该添加在每个不同时间输入的销售值。如果有人可以帮助我。会很有帮助。
答案 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>';
}
}
}
*相应地修改表名和列名