输出应该没有找到数据

时间:2014-02-12 12:17:39

标签: php mysql database

在这里,当我按日期搜索时,我正在制作一个项目。如果没有结果,我想输出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);
?>

4 个答案:

答案 0 :(得分:1)

您应该使用num_rows检查结果中返回的行数。像这样:

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

num_rows将始终返回返回的整数行数。

答案 1 :(得分:0)

我假设您使用如下所示的行调用mysqli_query

$result = mysqli_query($query);

mysqli_query只会返回false ,如果在执行查询时失败。如果查询成功执行且未选择任何行,则不会返回false(可能在您的情况下)。您可以参考mysqli_query found here上的文档。

您要做的是确定成功执行的查询的$result是否有任何数据行。为此,您可以致电mysqli_num_rows($result)。这将返回查询返回的行数。如果这等于0,则这是您要处理的“无数据”方案。

答案 2 :(得分:0)

尝试检查使用mysqli_num_rows()

返回的行数
$num = mysqli_num_rows($result);

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

}

答案 3 :(得分:0)

您可以使用mysqli_num_rows()来计算结果中的行数,如下所示

if(mysqli_num_rows($result)>0){
//there are records
}
else{
//no records found
}