#php #sql #if-statement #isset
#php #sql #if-оператор #isset
Вопрос:
Не уверен, что я использую правильный подход здесь. Я хочу, чтобы что-то отображалось, только если в поле задано значение. Я протестировал это несколькими способами.
1) Если значение установлено, то оно отображается правильно.
2) Если я ввожу некоторую случайную величину, то «N / A» отображается правильно. Но,
3) Если значение в поле не имеет установленного значения, повторяемый текст все равно появляется и, конечно, без какого-либо установленного значения.
if (isset($row['DATE'])) {
echo "Dated: {$row['DATE']} <br />" ;
} else {echo "N/A" ; }
Итак, что я упускаю? Как мне заставить этот код распознавать и игнорировать пустое поле?
Комментарии:
1. Я предполагаю, что, поскольку вы пометили это
sql
и используете такую терминологию, как «поле», вы извлекаете эти данные из базы данных, но вы не указали это в теле вашего вопроса.2. Выведите таблицу из консоли mysql. Вы видите (NULL) для пустых столбцов ДАТЫ?? Если да, попробуйте это ($row[‘DATE’] != «NULL»)
Ответ №1:
empty()
вернет true, если данная переменная не установлена или принимает значение false:
if (!empty($row['DATE'])) {
echo "Dated: {$row['DATE']} <br />" ;
} else {echo "N/A" ; }
Ответ №2:
Вы ищете функцию empty(). Они вернут false, если переменная пуста или не задана.
Ответ №3:
Я бы использовал другое, если бы проверял, не установлено ли значение (!isset($row['DATE']))
Rgds.
Комментарии:
1. Этот подход не распознал значения, если они были установлены. (!empty()) сделал свое дело. Спасибо.
2. Я бы еще немного расширил идею: идея заключалась в том, чтобы сначала проверить, не установлено ли значение с помощью else if, проверить, установлено ли значение if, а затем еще с помощью N / A `if (!isset($row[‘DATE’])){}else if (isset ($row[‘DATE’])){yourcode}else {другой код}.