Вычитание между 2 переменными не работает, как это исправить? - PullRequest
0 голосов
/ 04 сентября 2018

Итак, я пытаюсь вычесть 2 переменные: $ цена - $ user_balance (при вставке записи я хочу (новый) $ user_balance = (текущий) $ user_balance - $ цена, но это не вычитание, как это можно исправить (этот код не работает выше exit ();)

пример:

(баланс в таблице пользователей)

(сообщения идут в таблицу сообщений)

остаток до внесения записи в базу данных: 100

цена товара введена в базу данных: 50

После внесения товара цена в базе данных баланса должна составлять 100-50, поэтому 50

function insertPost(){
if(isset($_POST['sub'])){
    global $con;
    global $user_id;

    $content = htmlentities($_POST['content']);
    $content2 = htmlentities($_POST['content2']);
    $price = htmlentities($_POST['price']);
    $pclass = htmlentities($_POST['pclass']);
    $specificclass = htmlentities($_POST['specificclass']);
    $upload_image = $_FILES['upload_image']['name'];
    $image_tmp = $_FILES['upload_image']['tmp_name'];
    $random_number = rand(1, 100);

    $user_balance = $row_posts['user_balance'];

    if(strlen($content) > 250){
        echo "<script>alert('Utiliza menos de 250 carácteres)</script>";
        echo "<script>window.open('home.php', '_self')</script>";
    }else{
        move_uploaded_file($image_tmp, "imagepost/$upload_image.$random_number");
        $insert = "insert into posts (user_id, post_content, post_content2, post_price, post_class, post_specificclass, upload_image, post_date) values('$user_id', '$content', '$content2', '$price', '$pclass', '$specificclass', '$upload_image.$random_number', NOW())";

        $run = mysqli_query($con, $insert);

        $user_balance = $user_balance - $price;

        if($run){
            echo "<script>window.open('home.php', '_self')</script>";

            $update = "update users set posts='yes' where user_id='$user_id'";
            $update = "update users set user_balance='$user_balance - $price' where user_id='$user_id'";
            $run_update = mysqli_query($con, $update);
        }
        exit();
    }
}

}

1 Ответ

0 голосов
/ 05 сентября 2018

Кажется, вы делаете вычитание дважды

изменение

$update = "update users set user_balance=$user_balance - $price where user_id='$user_id'";

до

$update = "update users set user_balance = user_balance - $price WHERE user_id='$user_id'";

или с сохранением вашей переменной

$user_balance = $user_balance - $price;
$update = "UPDATE users SET user_balance = '$user_balance' WHERE user_id='$user_id'";

и удалите, если вы выберете первое решение

$user_balance = $user_balance - $price;

также ваш предыдущий запрос переопределен и не будет выполнен

этот

$update = "update users set posts='yes' where user_id='$user_id'";
...