2016-05-22 2 views
-2
include("connect.php"); 

$SQL="SELECT * FROM promo "; 
$run=mysql_query($SQL,$con) or die ("SQL error"); 
$rec=mysql_fetch_array($run); 

Прежде всего, я хочу проверить, дает ли этот запрос пустые записи или нет. Если он не выводит никаких записей, должен печатать «нет записей в таблице» , иначе распечатайте все записи, используя цикл while. Я могу показать записи, используя цикл while. трудно проверить выход пустым или нет.Проверка пустоты массива выборки

, пожалуйста, помогите мне сделать это. Спасибо

echo "<table border='1' align='center' >"; 
    echo "<tr> <th> Room ID </th> <th> Start Date </th> <th> End Date </th> <th> Promo Rate </th> </TR>"; 

    $run=mysql_query($SQL2,$con) or die ("SQL2 error"); 
    while($rec2=mysql_fetch_array($run)) 
     { 
     echo "<tr>"; 
     echo "<td>".$rec2['roomid']."</td>"; 
     echo "<td>".$rec2['startdate']."</td>"; 
     echo "<td>".$rec2['enddate']."</td>"; 
     echo "<td>".$rec2['rate']."</td>"; 
     echo "</tr>"; 
     } 

echo "</table>"; 
+0

так запустить 'если (пусто())' в то время как цикл. N.B .: NULL! = Empty, если у вас есть значения NULL. Или запустите num_rows и проверьте это. Или count() много способов сделать это. –

+1

Если строк нет, 'mysql_fetch_array' возвращает' false'. –

+0

Пожалуйста, не используйте [расширение базы данных mysql_'] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php), оно устарело (ушло навсегда в PHP7) Специально, если вы просто изучаете PHP, потратьте свои силы на изучение расширений базы данных «PDO». [Начать здесь] (http://php.net/manual/en/book.pdo.php) – RiggsFolly

ответ

2

Несмотря вы используете устаревший API, который является устаревшим и php7 даже удалены, решение проверить количество строк, возвращаемых запросом с mysql_num_rows:

$SQL="SELECT * FROM promo "; 
$run = mysql_query($SQL,$con) or die ("SQL error"); 
if (0 < mysql_num_rows($run)) { 
    while($rec2=mysql_fetch_array($run)) 
     // echo your rows 
    } 
} else { 
    echo 'No rows found.'; 
} 

Но в конце - рассмотрим возможность перехода на более современные API-интерфейсы - mysqli или PDO.

+0

Спасибо. Оно работает... –

0

Я хотел бы сделать это таким образом:

$i=0; 
while($rec=mysql_fetch_array($run)) { 
    // print record 
    ++$i; 
} 
if($i==0) { 
    echo "no results"; 
} 
Смежные вопросы