За последние 24 часа нас посетили 22606 программистов и 1208 роботов. Сейчас ищут 682 программиста ...

Запрет отрицательного баланса

Тема в разделе "PHP для новичков", создана пользователем buromax, 23 окт 2017.

  1. buromax

    buromax Новичок

    С нами с:
    23 окт 2017
    Сообщения:
    7
    Симпатии:
    0
    Доброй ночи. Пытаюсь написать простенький скрипт шопа. Столкнулся с проблемой отрицательного баланса. Может кто подскажет как запретить покупку, если не хватает денег.
    Привожу пример моего кода:
    PHP:
    1. $result=mysql_query('SELECT * FROM `tovar`');
    2.  
    3. echo "<link rel='stylesheet' href='/css/style.css'>";
    4. echo "<div align='center'>";
    5. $table = "<table>";
    6. $table .= "<tr>\n";
    7. $table .= "<th>ID</th>\n";
    8. $table .= "<th>Страна</th>\n";
    9. $table .= "<th>Доставка</th>\n";
    10. $table .= "<th>Цена</th>\n";
    11. $table .= "<th></th>\n";
    12. $table .= "</tr>\n";
    13.     while ($row = mysql_fetch_assoc($result))
    14.      
    15.     {
    16.  
    17. $cena = $row['price'];
    18. $table .= "<tr>";
    19. $table .= "<td>".$row['tovar_id']."</td>";
    20. $table .= "<td>".$row['country']."</td>";
    21. $table .= "<td>".($row['dostavka] ? "✔" : "✖")."</td>";
    22. $table .= "<td>$".$row['price']."</td>";
    23. $table .= "<td><form method='POST'><input type='hidden' name='tovar_id' value='".$row['tovar_id']."'><input type='submit' name='buy' value='Купить' /></form></td>";
    24. if( isset( $_POST['buy'] ) && $_POST["tovar_id"] == $row["tovar_id"])
    25.  {
    26.  
    27.       mysql_query("update users set user_balance = user_balance-".$row["price"]." where user_id = ".$userdata["user_id"]); // В этой строке списываю суму с баланса равную цене товара
    28.  
    29.  }
    30. $table .= "</tr>";
    31. }
    32.  
    33.      $table .= "</table> ";
    34.      echo $table;
    35.      echo "</div>";


    Заранее благодарен
     
  2. buromax

    buromax Новичок

    С нами с:
    23 окт 2017
    Сообщения:
    7
    Симпатии:
    0
    Всем спасибо, я баран)
    PHP:
    1. if($userdata['user_balance'] < $row["price"]){
    2.         print "Нехватает бабла";
    3.     }
    4.  
    5. else
    6. {
    7.    
    8.     mysql_query("update users set user_balance = user_balance-".$row["price"]." where user_id = ".$userdata["user_id"]); // В этой строке списываю суму с баланса равную цене товара
    9. }    
    Нужно наверное спать уже идти)
     
  3. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Это называется "метод резиновой уточки". Когда кому-то рассказываешь о проблеме и пытаешься ее объяснить доходчиво, сам себе, в итоге, объясняешь то, что упускал до этого.