увеличить поле с добавлением новых значений

#php #mysql

#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. покажите свой код, чтобы помочь нам предложить хорошее решение

2. Я добавил изображение в инструкцию запроса, обновление работает неправильно

3. Нет изображений кода. Поместите фактический код сюда.

4. Я добавил часть кода

Ответ №1:

Прежде чем вставлять данные в БД, проверьте, существует ли запись для номера карты уже в БД. Если оно существует, используйте запрос ОБНОВЛЕНИЯ, иначе используйте запрос ВСТАВКИ.

Попробуйте приведенный ниже код:

 <?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>';
            }
        }
    }
  

* Соответствующим образом измените название таблицы и названия столбцов

Комментарии:

1. оценил ответ. Я попробую это

2. Итак, я внес изменения, но теперь это дает мне белый экран страницы php. хм, я видел ваш код, все кажется правильным, хотя

3. итак, ваш код абсолютно правильный. единственное, что вызывало белый экран, было $query = «ВСТАВИТЬ в значения Client_Details(‘$cardnumber’,’$ amount/2′)»; **** Здесь **** ‘сумма в долларах / 2’ не будет в кавычках, потому что это число. Большое спасибо

4. @surii да .. извините за это … Я обновил свой ответ

5. @Surii Рад узнать, что это сработало. Пожалуйста, отметьте вопрос как решенный