<?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']?>& id=1&plus">+5</a></td>
<td align="center"><img src="g_1.gif" alt="" /><br /><a href="?user=<?=$user['id']?>& id=0&minus">-5</a></td>
<td align="center">1 уе</td>
</tr>
Почему не повышается postforum если нажимаю на +5???
muhago97, а если на -5 нажимаешь, авторитет понижается? Или тоже остаётся без изменений?
первое что в глаза бросилось, это какая то лишняя логика в запросе обновления
причём она дублируется и в плюс и в минус, либо убрать вовсе, либо доделать
и вроде условие на 14 строке должно быть с другим знаком.. не меньше, а больше
muhago97,
mysql_query("UPDATE `users` SET `postforum` = `postforum`" . ((isset($_GET['plus']) ? '-' : '+').$postforum[$id]['postforum']) . " WHERE `id` = '" . $user['id'] . "'");
Перепиши этот запрос. Не нужно впихивать такие условия непосредственно в mysql.
И как выше сказали там условие, что + или - будет в случае если баланс пользователя меньше указанного начисления. Как по мне, лишнее это условие.
ДоХтор, Остается без изменений
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']?>&id=1&plus">+5</a></td>
<td align="center"><img src="g_1.gif" alt="" /><br /><a href="?user=<?=$user['id']?>&id=0&minus">-5</a></td>
<td align="center">1 уе</td>
</tr>