Почему мое заявление if пропускает мое заявление else?

У меня есть кусок кода, где каждые 20 минут системная задача выполняет запрос SQL, добавляя в одну из моих таблиц базы данных (заявок).
У меня есть заявление if if, которое должно найти номер (билеты) и использовать его, чтобы позволить кому-то «купить» товары из моего магазина.
Это позволяет пользователю купить больше товаров, чем у него есть билетов (доводя свой баланс до негативов), как будто это просто полностью пропустило мое утверждение else. Что-то я делаю не так?

Также подумал, что я хотел бы добавить, столбец «билеты» INT и не нравится, VARCHAR или что-нибудь

Дело в том, что он работал отлично несколько часов назад, так что я не уверен, что добавил что-то случайно, но теперь это не работает.

Смотрите, проблема здесь в том, что «если ($ rewards> 4)»

http://prntscr.com/g79q3p

<div class="box">
<div class="contentHeader headerGreen">
<div class="inside">
5 Tickets
</div>
</div>
<ul>
<img src="/swf/c_images/album1584/2015HA.gif" align="right">
<li>25k Credits</li>
<li>25k Pixels</li>
<li>5 Diamonds
</ul>
<?php
if(isset($_POST['buy1'])) {

$getRewards = mysql_query("SELECT tickets FROM users WHERE id = '" . $_SESSION['user']['id'] . "'");
while($rewards = mysql_fetch_assoc($getRewards)) {

if($rewards > 4) {
mysql_query("UPDATE users SET tickets = tickets-5 WHERE id = '" . $_SESSION['user']['id'] . "'") or die(mysql_error());
mysql_query("UPDATE users SET credits = credits+25000 WHERE id = '" . $_SESSION['user']['id'] . "'");
mysql_query("UPDATE users SET activity_points = activity_points+25000 WHERE id = '" . $_SESSION['user']['id'] . "'");
mysql_query("UPDATE users SET vip_points = vip_points+5 WHERE id = '" . $_SESSION['user']['id'] . "'");
echo '
<div class="alert alert-sucess">
<strong>Well Done!</strong> Your items have been added.
</div>';
}

else if($rewards < 5) {
echo '
<div class="alert alert-error">
<strong>Error:</strong> You Do NOT Have Enough Tickets To Buy This
</div>';

}

/*else {
echo '
<div class="alert alert-error">
<strong>Error:</strong> You Do NOT Have Enough Tickets To Buy This
</div>';
}*/

}
}
?>
<form method='post'>
<input type="submit" value="Buy" name="buy1" style="width: 138px;cursor: pointer;" />
</form>
</div>

-3

Решение

Пожалуйста посмотри как mysql_fetch_assocs работает.

Возвращает массив. Не имеет значения, сколько полей вы указываете в sql — это всегда массив.

Также сделать print_r а также echo из ваших переменных, чтобы увидеть, что внутри, когда он не работает.

  if ($rewards["tickets"] > 4)
{

}
else if ($rewards["tickets"] < ....
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector