PHP - Добавить значения при обновлении - PullRequest
0 голосов
/ 30 января 2019

Как я могу добавить значения при обновлении значения?как, например, каждый раз, когда я обновляю значение, которое оно увеличивает или добавляет?

Текущий вывод - Мой текущий вывод - я обновляю значение, но каждый раз, когда я обновляю значение, он просто меняет значениене добавляя это.как, например, я обновляю значение 1000, и оно изменится на 1000, а после того, как я обновлю значение снова до 200, значение изменится на 200 НО это должно быть 1200

Проблема -Моя проблема в том, что я не могу добавлять значения каждый раз, когда обновляю значение

Ожидаемый результат - Мне нужно добавлять или увеличивать его каждый раз, когда я обновляю значение

вот мой код и оператор запроса на обновление базы данных

  <?php

  //CONNECTION
  $connection =mysqli_connect("localhost","root","");
  $db = mysqli_select_db($connection,'inflightapp');

  //END CONNECTION

  //SUBMIT THE INPUT AND SEARCH THE LIKE VALUE
  if (isset($_POST['search'])) {
  $txtCode = $_POST['id'];
  //GET THE INPUT BELOW AMOUNT

  //REMOVE THE SPECIAL CHARACTER QR CODE: | TO READ AND SEARCH FOR SIMILAR VALUE
  $hashCase =  $txtCode;
  $str = ltrim( strstr($hashCase,":"),":");
  $strFinalString = trim(substr($str,0,strpos($str, "|")));
  //END OF REMOVING SPECIAL CHAR


  //QUERY TO SEARCH THE VALUE
  $query = "SELECT * FROM scratch_cards WHERE code LIKE '%$strFinalString%' ";
  $query_run = mysqli_query($connection,$query);
  //END

  //FETCH THE DATA INTO MY DATABASE 'scratch_cards'
  while($row = mysqli_fetch_array($query_run))
  {
   $txtValue = $row['amount'];
  ?>
      <input type="hidden" name="amount[<?php echo $row['id'] ?>]" value="<?php echo $row['amount'] ?>">
      <h2><i><u>You have received: <?php echo '<b style="color:#90EE90">'.$row['amount'].'</b>'  ?> Coins</u></i></h2>
  <?php



    //QUERY TO UPDATE THE VALUE
  $query2 = "UPDATE shopusers SET ewallet = '$txtValue' WHERE id = 12";
  $query_run2 = mysqli_query($connection,$query2);
  //END
  }

   //END OF FETCHING DATA
  }

  ?>

, а вот кнопка, которая будет вызывать обновление значения

<form method="POST">
  <input type="submit" name="mywallet" class="btn btn-primary" value="Top-up"></input>
  </form>

Ответы [ 3 ]

0 голосов
/ 30 января 2019
$query2 = "UPDATE shopusers SET ewallet = ewallet + " . (0 + $txtValue) . " WHERE id = 12";

На самом деле, лучший способ написать это было бы:

$stmt = $db->prepare("UPDATE shopusers SET ewallet = ewallet + ? WHERE id = 12");
$stmt->bind_param("i", $txtValue);
$stmt->execute();

То, что я дал вам ранее, должно работать, но вам, вероятно, следует использовать подготовить все, чтобы убедиться, что данные, которые вы передаетев базу данных в правильном формате.Чтобы предотвратить инъекцию sql.

mysqli :: prepare

0 голосов
/ 30 января 2019

Этот запрос на обновление вы должны попробовать ..

$query2 = "UPDATE shopusers SET ewallet = ewallet+'$txtValue' WHERE id = 12";

это может помочь вам больше всего

0 голосов
/ 30 января 2019

Все, что вам нужно сделать, это

//QUERY TO UPDATE THE VALUE

$query2 = "UPDATE shopusers SET ewallet = '$txtValue' WHERE id = 12";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...