Доброго времени суток. Почему не работает следующая проверка в PHP & MySQL?
Если что, использую RedBeanPHP
Вот сам код проверки:
if (isset($bugs['done']) == "false") {
echo "<span class='badge badge-danger ml-2'>Не решена</span>";
}
elseif (isset($bugs['done']) == "true") {
echo "<span class='badge badge-success ml-2'>Решена</span>";
}
Вывод : Не решена (Хотя в Базе Данных в столбце done стоит True)
Связь с базой данной есть, все выводит. В самой БД, есть столбец с названием done. По умолчанию он устанавливается false
В чем проблема? Пробовал разные варианты, через 0 и 1, почему так происходит?
У вас некорректное условие, вы сравниваете isset(), которое возвращает булевое значение, с не пустой строкой. В итоге первое условие всегда истина при заданном значении для ключа 'done' и ложное только в том случае, если ключ не существует в массиве или его значение null, но в таком случае оба условия ложные. Попробуйте так:
if(isset($bugs['done'])) {
echo ($bugs['done'] == 'false') ? "<span class='badge badge-danger ml-2'>Не решена</span>" : "<span class='badge badge-success ml-2'>Решена</span>";
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости