Помощь по скриптам | If, MySQL и так далее
Приветствую. У меня есть такой код(внизу), и я сейчас объясню его суть и проблему
Дело в том, что у меня есть таблица avatars, которая содержит параметры aid(id аватара) и uid(id владельца аватара). У человека может быть много в аватаров. И я в коде выше организую выбор аватара. Проверяю, равен ли айди аватара id выбора($choose это id аватара для выбора), и затем ставлю аватар. Но к сожалению вместо этой проверки выполняется else. Хотя я там сам проверяю данные из условия, они одинаковы. Должно выполняться if, но оно не выполняется.
P.S aid = 3, choose = 3
В чем состоит моя ошибка, товарищи?Заранее спасибо
________
посл. ред. 21.08.2018 в 23:55; всего 1 раз(а); by ADev
if($choose) {
echo $choose;
if($q['aid'] == $choose) {
mysql_query("UPDATE `users` SET `pet` = `$choose` WHERE `id` = '$myID'");
header('Location: /');
} else {
echo ' '.$q['aid'].' ' + $choose;
}
}
Дело в том, что у меня есть таблица avatars, которая содержит параметры aid(id аватара) и uid(id владельца аватара). У человека может быть много в аватаров. И я в коде выше организую выбор аватара. Проверяю, равен ли айди аватара id выбора($choose это id аватара для выбора), и затем ставлю аватар. Но к сожалению вместо этой проверки выполняется else. Хотя я там сам проверяю данные из условия, они одинаковы. Должно выполняться if, но оно не выполняется.
P.S aid = 3, choose = 3
В чем состоит моя ошибка, товарищи?Заранее спасибо
________
посл. ред. 21.08.2018 в 23:55; всего 1 раз(а); by ADev
ты вродебы сравниваеш новый аватар с старым? if($q['aid'] == $choose)
тебе надо сравнивать id юзера
________
посл. ред. 22.08.2018 в 00:13; всего 2 раз(а); by SparkuS
тебе надо сравнивать id юзера
if($choose) {
mysql_query("UPDATE `users` SET `pet` = `$choose` WHERE `id` = '$myID'");
header('Location: /');
} else
echo 'вы не выбрали аватар';
________
посл. ред. 22.08.2018 в 00:13; всего 2 раз(а); by SparkuS
SparkuS , дело в том, что мне надо еще проверять, есть ли аватар у пользователя
ADev ,
if($choose && $q['aid']) {
mysql_query("UPDATE `users` SET `pet` = `$choose` WHERE `id` = '$myID'");
header('Location: /');
} else
echo 'вы не выбрали аватар';
Представим что аватар у тебя хранится в виде целого числа.
0 - означает что его нет.
Следовательно, вариант который предложил пост 4 верный.
Твоё условие никогда не будет true, у тебя ведь нет никакого аватара.
0 - означает что его нет.
Следовательно, вариант который предложил пост 4 верный.
Твоё условие никогда не будет true, у тебя ведь нет никакого аватара.
monobogdan , эм. Ну вот результат нажатия. 33. 3=3
------
58378_Screenshot_20180822092130.png (193.9 Kb)
Скачиваний: 75
------
Скачиваний: 75
ADev , Всё верно, у тебя нет питомца, поэтому выполняется else, и в дебаге ты получаешь 0 + 3.
Зачем тебе задавать питомца только если текущий питомец уже равен выбранному питомцу?
Меньше бы копипастил, меньше вопросов было бы.
________
посл. ред. 22.08.2018 в 07:41; всего 3 раз(а); by monobogdan
Зачем тебе задавать питомца только если текущий питомец уже равен выбранному питомцу?
Меньше бы копипастил, меньше вопросов было бы.
________
посл. ред. 22.08.2018 в 07:41; всего 3 раз(а); by monobogdan
monobogdan , он имеет в виду
Что при регистрации тебе даётся
На выбор 1м и 2ж ты выбрал 1м! Но всего выборов 6 тоесть 1м, 2ж, 3м, 4ж, 5м, 6ж.
Чтоб данные не совпадали после регистрации как захочешь поменять значение и не клонировать!
________
посл. ред. 22.08.2018 в 08:55; всего 2 раз(а); by Baton4ik
Что при регистрации тебе даётся
На выбор 1м и 2ж ты выбрал 1м! Но всего выборов 6 тоесть 1м, 2ж, 3м, 4ж, 5м, 6ж.
Чтоб данные не совпадали после регистрации как захочешь поменять значение и не клонировать!
________
посл. ред. 22.08.2018 в 08:55; всего 2 раз(а); by Baton4ik
If (isset($choose))...
