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