Как мне заставить Isset () игнорировать пустое поле?

#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 {другой код}.