Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как составить правильное условие?
Форумы портала PHP.SU » » Вопросы новичков » Как составить правильное условие?

Страниц (1): [1]
 

1. SofiaKit - 24 Декабря, 2016 - 14:44:05 - перейти к сообщению
В базе данных имеются поля username,surname,phone,patronymic
Мне хотелось бы вывести уведомление о том, что они не заполенны, но не вот так:
PHP:
скопировать код в буфер обмена
  1. if ($myrow[username] == null ) { echo "<br><br><br>Поле имени не заполненно";}
  2. if ($myrow[surname] == null ) { echo "<br><br><br>Поле фамилии не заполненно";}
  3. if ($myrow[phone] == null ) { echo "<br><br><br>Поле контактного телефона не заполненно";}
  4. if ($myrow[patronymic] == null ) { echo "<br><br><br>Поле отчество не заполненно";}

А что-бы как-то выглядело примерно так:
Если не заполено имя и телефон, чтобы писалось: В базе нет Вашего имени и телефона.
Если нет имени, фамилии и телефона, что-бы писалось: В базе нет Вашего имени, Фамилии и телефона...

Хочется чтоб писалось в одной строке и перечислялось то, чего нет... Как это сделать?
2. OrmaJever - 24 Декабря, 2016 - 16:58:11 - перейти к сообщению
иногда смотришь на пользователя который зарегистрирован в 2010 году и не понимаешь чем он занимался все эти 6 лет Однако
3. Shtorm_sai - 24 Декабря, 2016 - 19:43:11 - перейти к сообщению
А если написать "В базе отсутствует следующая информация о Вас:" и уже через запятую указать?)
4. Строитель - 24 Декабря, 2016 - 20:29:53 - перейти к сообщению
SofiaKit пишет:
Хочется чтоб писалось в одной строке и перечислялось то, чего нет... Как это сделать?
PHP:
скопировать код в буфер обмена
  1. $error = [];
  2.  
  3. !empty($myrow['username']) ?: $error[] = 'имени';
  4. !empty($myrow['surname']) ?: $error[] = 'фамилии';
  5. !empty($myrow['phone']) ?: $error[] = 'телефона';
  6. !empty($myrow['patronymic']) ?: $error[] = 'отчества';
  7.  
  8. if (!empty($error)) {
  9.     $cnt = count($error);
  10.    
  11.     if ($cnt < 2) {
  12.         echo 'В базе нет '. $error[0] .'!';
  13.     } else {
  14.         $err = array_pop($error);
  15.         echo 'В базе нет '. join(', ', $error) .' и '. $err .'!';
  16.     }
  17. }

 

Powered by ExBB FM 1.0 RC1