Замена пустого массива текстом PHP

261
14 июля 2017, 02:44

есть цикл, который выводит данные о пользователях из БД.

<?php
$strSQL = "SELECT * 
FROM users WHERE name = 'Admin' ";
$rs = mysql_query($strSQL);
while($row = mysql_fetch_array($rs)) {
   echo "<p>Имя:".$row['name']."</p>";
}
mysql_close();
?>

Как сделать так, чтобы на странице показался заголовок " Пользователь не найден " если массив ничего не выведет. Т.е. если name Admin не будет, а будет User, тогда он ничего не выведет, т.к. в условии написано, чтобы выводил там, где name = Admin

Answer 1
<?php
$strSQL = "SELECT * 
FROM users WHERE name = 'Admin' ";
$rs = mysql_query($strSQL);
if(mysql_num_rows($rs) != 0) {
   while($row = mysql_fetch_array($rs)) {
      echo "<p>Имя:".$row['name']."</p>";
   }
} else {
   echo "<p>Пользователь не найден.</p>";
}
mysql_close();
?>

Можно убрать фигурные скобки, когда используете в условие одну функцию или одно другое условие:

<?php
$strSQL = "SELECT * 
FROM users WHERE name = 'Admin' ";
$rs = mysql_query($strSQL);
if(mysql_num_rows($rs) != 0)
   while($row = mysql_fetch_array($rs))
      echo "<p>Имя:".$row['name']."</p>";
else
   echo "<p>Пользователь не найден.</p>";
mysql_close();
?>
Answer 2

mysql_num_rows() должен помочь, если 0, то выводить нужный текст.

READ ALSO
Браузер перекрывает стили,что делать?

Браузер перекрывает стили,что делать?

Браузер перекрывает стилиЯ начинаю прописывать одно,второе

298
Не срабатывает код php

Не срабатывает код php

Доброго времени суток! Только начал изучать php, и столкнулся с следующей проблемой: Имеется файл loginhtml:

241
Работа с eventlog - получение значения поля

Работа с eventlog - получение значения поля

Пишу программу, которая будет парсить определенные события в журнале событий windows и на основании данных в событии возвращать некоторые строки...

187
HierarchicalDataTempalte c ItemTemplateSelector

HierarchicalDataTempalte c ItemTemplateSelector

Имеется DataTemplateSelector:

228