Здравствуйте, как мне сделать несколько условий IF (То есть более 2): Код (PHP): $server = mysql_query("SELECT `server` FROM `users_profiles` WHERE `username`='$username'"); $gr =mysql_query("SELECT * FROM `TAstopgrouptime` WHERE `username`='$username'"); { while($row=mysql_fetch_assoc($gr)) { $TAday=$row['day']; $TAmonth=$row['month']; $TAtime=$row['time']; $TAQmin=$row['min']; $TAyears=$row['years']; } } $gr1 =mysql_query("SELECT * FROM `grouptime` WHERE `username`='$username'"); { while($row=mysql_fetch_assoc($gr1)) { $day=$row['day']; $month=$row['month']; $time=$row['time']; $Qmin=$row['min']; $years=$row['years']; } } if(($TAday >= $day) && ($TAmonth >= $month) && ($TAtime >= $time) && ($TAQmin >= $min) && ($TAyears >= $years) && ($server == 1)) { mysql_query("UPDATE `group` SET TA='User' WHERE `username`='$username'"); } Не хочет работать. Пробовал "AND", "&&", " || ", без толку. Если сделать одно условие, работает. Кстати, попробовал сделать так Код (PHP): if($TAday >= $day) { if($TAmonth >= $month) { if($TAtime >= $time) { if($TAQmin >= $Qmin) { if($TAyears >= $years) { if($server == 1) { mysql_query("UPDATE `group` SET TA='User' WHERE `username`='$username'"); } } } } } } Так же бесполезно.
да ни может этого быть. ты выведи в переменные результат, т.е. НЕ так: Код (PHP): if (($TAday >= $day) && ($TAmonth >= $month) && ...) а вот так: Код (PHP): $one = ($TAday >= $day); $two = ($TAmonth >= $month); ... а потом Код (PHP): if ($one && $two && ..) и за одно проверь какие именно результаты записываются у тебя в переменные $one, $two и т.д. т.к. косяк в них, а не в том, что что-то не работает.
Код (PHP): <? $a=$q; $q="E"; $b="88888"; if ($a=="E" AND $b=="88888"){ echo $a, $b; }else{ echo "123"; } ?> Конечно бестолку. Ведь простой пример не сделать, чтобы перейти к сложному. (сарказм) В данном случае скрипт выведет 123, хотя $q = E и $a приравняли к результату $q. Дело не в условиях. Необходимо приравнять переменные к полученному результату: Код (PHP): $qu_day = ($TAday >= $day); $qu_month = ($TAmonth >= $month); Я бы высчитывал дату рождения и делал бы условие: если разница между текущей секундой и датой рождения больше, чем (число), то делал бы запрос. Код (PHP): $db->query("UPDATE group SET TA='User' WHERE username='$username'"); /* 1. Переходи на mysqli (для этого нужно немного отредактировать config.php и изменить запросы) 2. Не ставь ` перед и после называния столбца в таблице в запросе. Может, даёт какую-то видимость, но не рекомендуется.*/
Все, я сделал. Как и сказал @VLK, дело было в переменных. Мне нужно было от реального времени к времени, которое было занесено в другую таблицу. Код (PHP): $three = ($time >= $TAtime); Вот таким образом, а не оборот. Спасибо всем за помощь.
Они не требуются, если имена полей не совпадают с ключевыми словами mysql. А если есть, к примеру, поле order, то без них его никак в запросе использовать невозможно. Или таблица order (что вполне вероятно, учитывая, что кроме "порядок" это слово ещё обозначает "заказ")