За последние 24 часа нас посетили 32002 программиста и 1380 роботов. Сейчас ищут 902 программиста ...

Донат система

Тема в разделе "PHP для новичков", создана пользователем Danil005, 2 янв 2015.

  1. Danil005

    Danil005 Активный пользователь

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    Как сделать грамотное вычитание у пользователя баланс, при этом вписать в базу данных Mysql на время?

    Мой код\:
    Код (Text):
    1. <?
    2. include('../lib/bd.php');
    3.  
    4. $group_cost = 150;
    5. $id = $_SESSION['id'];
    6. $_SESSION['id']=$_COOKIE['id'];
    7. $id = $_POST['id'];
    8. $amount = mysql_query("SELECT * FROM users WHERE id='$id'");  
    9. while($amount_result = mysql_fetch_assoc($amount))
    10. if($amount >= $group_cost)
    11. {
    12.     mysql_query("UPDATE users SET amount=amount-$group_cost WHERE id=".$id."")or die(mysql_error());
    13. }
    14. else
    15. {
    16.     echo("Недостаточно денег на счету!");
    17. }
    18. ?>
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Разберись с переменными, зачем это?
    https://php.net/manual/ru/function.mysql-real-escape-string.php
    Тебе вернет только 1 запись, зачем цикл?
    https://php.net/manual/ru/function.mysql-real-escape-string.php
    die нужен только на этапе разработки и тестирования, а лучше их ставить только когда что то не работает.

    Хмм... добавь поле в базу новое не?
     
  3. Danil005

    Danil005 Активный пользователь

    С нами с:
    2 янв 2015
    Сообщения:
    528
    Симпатии:
    30
    Так как можно сделать, напишите код пожалуйста
     
  4. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    А как же обучение, увлекательное перечитывание мануалов?:)
    Что не понятно? объясню.