2014-02-12 3 views
0

Здесь я делаю проект в этом, когда я ищу по дате. Я хочу вывести no data found, если результата нет. Но здесь я получаю формат таблицы, если результатов нет. Если данные показывают его ОК! но есть проблема, когда в базе данных нет данных.Выходные данные не должны быть найдены

<?php 
include('connect.php'); 
    ?> 
    <?php 
// echo $res; 
$result = mysqli_query($con,"SELECT * FROM buyer where date='$res'"); 
//$result = mysqli_query($con, "SELECT * FROM buyer WHERE date='09-01-14'"); 

if($result==NULL) 
{ 
    echo "no data found"; 
} 
else{ 
echo "<table class='CSSTable'> 

<tr> 
<th>invoice no</th> 
<th>Buyer Name</th> 
<th>Buyer Order number</th> 
<th>Date</th> 
<th>Total Amount</th> 
<th>Total Items</th> 
<th>Generate PDF</th> 
</tr>"; 

while($row = mysqli_fetch_array($result)) 
    { 
    echo "<tr>"; 
echo "<td>" . $row['invoice_number'] . "</td>"; 
    echo "<td>" . $row['buyer_name'] . "</td>"; 
    echo "<td>" . $row['buyer_order_number'] . "</td>"; 
    echo "<td>" . $row['date'] . "</td>"; 
    echo "<td>" . $row['total_amount'] . "</td>"; 
    echo "<td>" . $row['total_items'] . "</td>"; 
    echo "<td>" ." <a href='get_pdf.php?id={$row['invoice_number']}' target='_blank'><img src='image/download.png' width='16' height='16' /></a>" . "</td>"; 
    echo "</tr>"; 
    } 

echo "</table>"; 
} 

mysqli_close($con); 
?> 
+0

попробовать '$ Num = mysqli_num_rows ($ result); 'и проверить, есть ли $ num> 0 – krishna

+0

http://www.php.net/manual/en/mysqli-result.num-rows.php –

+0

его wrorks .. спасибо! – Smoke

ответ

1

Вы должны проверять количество строк, возвращаемых в результате, используя num_rows. Как так:

if(!$result->num_rows) 
{ 
    echo "no data found"; 
} 

num_rows всегда будет возвращать целое число возвращаемых строк.

0

Я предполагаю, что вы назвали mysqli_query с линией, которая выглядит следующим образом:

$result = mysqli_query($query); 

mysqli_query будет только возвращение falseесли он не при выполнении запроса. Он не вернет false, если запрос успешно выполнен и не имеет выбранных строк (как, вероятно, в вашем случае). Вы можете ссылаться на документацию по адресу mysqli_queryfound here.

Вместо этого вы должны определить, имеет ли $result успешно выполненный запрос какие-либо строки данных. Для этого вы можете позвонить mysqli_num_rows($result). Это вернет вам количество строк, возвращаемых запросом. Если это равно 0, то это сценарий «нет данных», который вы хотите обработать.

0

Try, проверяя количество строк, возвращаемых с помощью mysqli_num_rows()

$num = mysqli_num_rows($result); 

if($num == 0) 
{ 
echo "no data found"; 
} 
else 
{ 
//do something 

} 
0

Вы можете использовать mysqli_num_rows() для подсчета количества строк в результате, как следующий

if(mysqli_num_rows($result)>0){ 
//there are records 
} 
else{ 
//no records found 
} 
Смежные вопросы