Не работает

693
.
muhago97
<?php
 echo '<div class="menu">Авторитет: '.$user['postforum'].'</div>';


$money = array(
    1 => array('postforum' => 5, 'price' => 10),
    2 => array('postforum' => 25, 'price' => 50),
    3 => array('postforum' => 75, 'price' => 150),
    4 => array('postforum' => 375, 'price' => 750),
);

if ($id) {

if ($datauser['ball'] < $postforum[$id]['price']) {
if(isset($_GET['plus'])) {

mysql_query("UPDATE `users` SET `balans` = '" . ($datauser['balans'] - $postforum[$id]['price']) . "' WHERE `id` = '$user_id'");
mysql_query("UPDATE `users` SET `postforum` = `postforum`" . ((isset($_GET['plus']) ? '-' : '+').$postforum[$id]['postforum']) . " WHERE `id` = '" . $user['id'] . "'");           
echo '<div class="gmenu">Авторитет Повышен</div>';


}elseif(isset($_GET['minus'])) {

mysql_query("UPDATE `users` SET `balls` = '" . ($datauser['balls'] - $postforum[$id]['price']) . "' WHERE `id` = '$user_id'");
mysql_query("UPDATE `users` SET `postforum` = `postforum`" . ((isset($_GET['minus']) ? '-' : '+').$postforum[$id]['postforum']) . " WHERE `id` = '" . $user['id'] . "'");

echo '<div class="gmenu">Авторитет Понижен</div>';
}
} else echo '<div class="rmenu">У вас недосточно баланса для изменения авторитета</div>';
} 
?>
<div class="menu">
<table border="4" cellpadding="7">
    <tr>
        <th>Повышение</th>
        <th>Понижение</th>
        <th>Стоимость</th>
    </tr>
    
    <tr>
       <td align="center"><img src="g_1.gif" alt="" /><br /><a href="?user=<?=$user['id']?>&amp; id=1&amp;plus">+5</a></td> 
       <td align="center"><img src="g_1.gif" alt="" /><br /><a href="?user=<?=$user['id']?>&amp; id=0&amp;minus">-5</a></td> 
        <td align="center">1 уе</td>
    </tr>


Почему не повышается postforum если нажимаю на +5???
.
Никто не знает?
.
muhago97, а если на -5 нажимаешь, авторитет понижается? Или тоже остаётся без изменений?
.
Koenig
(\/)____o_O____(\/)
первое что в глаза бросилось, это какая то лишняя логика в запросе обновления
причём она дублируется и в плюс и в минус, либо убрать вовсе, либо доделать
и вроде условие на 14 строке должно быть с другим знаком.. не меньше, а больше
.
blackvj
muhago97,
mysql_query("UPDATE `users` SET `postforum` = `postforum`" . ((isset($_GET['plus']) ? '-' : '+').$postforum[$id]['postforum']) . " WHERE `id` = '" . $user['id'] . "'");


Перепиши этот запрос. Не нужно впихивать такие условия непосредственно в mysql.
И как выше сказали там условие, что + или - будет в случае если баланс пользователя меньше указанного начисления. Как по мне, лишнее это условие.
.
ДоХтор, Остается без изменений
.
# blackvj (29.03.2016 / 12:20)
muhago97, mysql_query("UPDATE `users` SET `postforum` = `postforum`" . ((isset($_GET['plus']) ? '-' : '+').$postforum[$id]['postforum']) . " WHERE `id` = '" . $user['id'] . "'");

Перепиши этот за
Куда писать?
.
(\/)____o_O____(\/)
что содержит $postforum
.
blackvj
muhago97, Держи, должно работать
<?php // тег для корректной подсветки
echo '<div class="menu">Авторитет: '.$user['postforum'].'</div>';
 
$postforum = array(
    1 => array('postforum' => 5, 'price' => 10),
    2 => array('postforum' => 25, 'price' => 50),
    3 => array('postforum' => 75, 'price' => 150),
    4 => array('postforum' => 375, 'price' => 750),
);
 
if(!empty($id))
$price = abs(intval($postforum[$id]['price'])); // цена авторититета
$user  = abs(intval($_GET['user'])); // пользователь кому повышаем/понимажем приоритет

// Если денег на повышение баланса хватит, то совершаем действие
if(!empty($price) && !empty($user) && $datauser['ball'] >= $postforum[$id]['price']) {

if(isset($_GET['plus'])) {
mysql_query("UPDATE `users` SET `balans` = `balans` - $price WHERE `id` = '$user_id';"); // списываем с баланса стоимость
mysql_query("UPDATE `users` SET `postforum` = `postforum` +  $price  WHERE `id` = '$user';"); // плюсуем приоритет          
echo '<div class="gmenu">Авторитет Повышен</div>';
}elseif(isset($_GET['minus'])) {
mysql_query("UPDATE `users` SET `balans` = `balans` - $price WHERE `id` = '$user_id';"); // списываем с баланса стоимость
mysql_query("UPDATE `users` SET `postforum` = `postforum` -  $price  WHERE `id` = '$user';"); // понижаем приоритет          
echo '<div class="gmenu">Авторитет Понижен</div>';
}

}else 
echo '<div class="rmenu">У вас недосточно баланса для изменения авторитета</div>';

?>
<div class="menu">
<table border="4" cellpadding="7">
    <tr>
        <th>Повышение</th>
        <th>Понижение</th>
        <th>Стоимость</th>
    </tr>
 
    <tr>
       <td align="center"><img src="g_1.gif" alt="" /><br /><a href="?user=<?=$user['id']?>&amp;id=1&amp;plus">+5</a></td> 
       <td align="center"><img src="g_1.gif" alt="" /><br /><a href="?user=<?=$user['id']?>&amp;id=0&amp;minus">-5</a></td> 
        <td align="center">1 уе</td>
    </tr>
.
blackvj, Ошибка
Всего: 28