PHP Не работает проверка, через БД

216
10 марта 2018, 20:12

Доброго времени суток. Почему не работает следующая проверка в 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, почему так происходит?

Answer 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>";
}
READ ALSO
Работа с массивом векторов C++

Работа с массивом векторов C++

Нужна помощь с массивом векторовНужно задать векторам в массиве какую-либо длину(рандомную у каждого вектора)

257
Запись данных из двух отдельных потоков в один файл

Запись данных из двух отдельных потоков в один файл

Как реализовать запись данных из двух отдельных потоков в один файл? Мне кажется что проще с использовать WinAPI, но не имею представления как...

260
замена элементов двух списков

замена элементов двух списков

Создал два спискаВопрос как заменить элементы этих двух списков? Например не все,а только N

283