Помогите Исправить

485
.
MARAZM
КИДАЛА!!! Дел не иметь!
if (isset($_POST['submit'])) {
    $combo = mt_rand(100, 999);
    if ($datauser['balans'] >= 5) {
        mysql_query("UPDATE `users` SET `balans` = `balans`-5 WHERE `id` = " . $user_id . ";");
        if ($combo == 555) {
            echo '<div class="menu">Выпала комбинация '.$combo.' Вы выиграли 10 монет.</div>';
            mysql_query("UPDATE `users` SET `balans` = `balans`+10 WHERE `id` = " . $user_id . ";");
        } elseif ($combo == 666) {
            echo '<div class="menu">Выпала комбинация '.$combo.' Вы выиграли 200 монет.</div>';
            mysql_query("UPDATE `users` SET `balans` = `balans`+200 WHERE `id` = " . $user_id . ";");
        } else {
            echo '<div class="menu">Выпала комбинация '.$combo.' Вы ни чего не выиграли.</div>';
        }
    } else {
        echo'<div class="rmenu">Для ставки необходимо иметь как минимум 5 монет</div>';
    }
} else {
    echo '<p><form action="odno.php" method="post"><input type="submit" name="submit" value="Играть" /></form></p>';
}
.
MARAZM
КИДАЛА!!! Дел не иметь!
ДоХтор, ну ты запросом отнимаеш 5 баллов. а если у игрока 0 баллов? хм табуляцию побило
.
ДоХтор
Я баллы контролирую таким образом
/**
 * Подсчёт валюты сайта (баллы);
 * 
 * @param int  $id ID пользователя
 * 
 * @return int Балланс пользователя
 */
public static function balance($id)
{
    $sql = "SELECT balans FROM users WHERE id = $id";
    return mysql_result(mysql_query($sql), 0);
}


Ну и где нужно, пишу вызов и сохраняю результат в переменную
$balance = functions::balance($user_id);


А потом просто проверяю в условии
if ($balance >= чему-то) {
    /* Выполняется код */
}
.
КИДАЛА!!! Дел не иметь!
ДоХтор, я про код выше если что)
.
# MARAZM (31.07.2016 / 18:09)
хм табуляцию побило
Исправил. Тебе в редакторе надо переключиться с табов на 4-е пробела, и тогда не будет отступы обрезать
.
MARAZM
КИДАЛА!!! Дел не иметь!
# ДоХтор (31.07.2016 / 18:16)
Исправил. Тебе в редакторе надо переключиться с табов на 4-е пробела, и тогда не будет отступы обрезать
а зачем контролировать баллы юзера который делает действие?
$datauser['balans'] > 5 например с головой достаточно,а так лишний запрос повторяющий запрос в ядре
.
# MARAZM (31.07.2016 / 18:08)
if (isset($_POST['submit'])) {
$combo = mt_rand(100, 999);
if ($datauser['balans'] >= 5) {
mysql_query("UPDATE `users` SET `balans` = `balans`-5 WHERE `id` = " . $user_id . ";");
Хехе Вообще 5 монеты не берет он и не зачисляет если выйграет
.
КИДАЛА!!! Дел не иметь!
# muhago97 (31.07.2016 / 18:21)
Хехе Вообще 5 монеты не берет он и не зачисляет если выйграет
учись делать сам - не проси постоянно.
.
# MARAZM (31.07.2016 / 18:18)
а зачем контролировать баллы юзера который делает действие?
$datauser['balans'] > 5 например с головой достаточно,а так лишний запрос повторяющий запрос в ядре
Если производить какие-то манипуляции с балансом, а потом обратиться к $datauser['balans'], то в нём сумма будет "устаревшая", (т.е., надо обновить страницу). Поэтому я предпочитаю выбирать инфу прямо из базы.
.
КИДАЛА!!! Дел не иметь!
Только что проверил все работает.
Всего: 35