如何在20行表上显示5条记录?

时间:2019-01-23 07:47:37

标签: php html mysql

如何在一个表的20个固定行上显示少于2条记录?我的意思是,我只想显示更少的记录而不在20行上循环它们,我想保持行仍然为空。如下图所示。 enter image description here

到目前为止,我一直在尝试最后一条记录,一直循环到第20行。 我尝试过,

<table>
<?
$sql = "SELECT name, address, phone FROM contact";
$query = odbc_exec($conn,$sql);
for($i=0;$i<=20;$i++)
{
   odbc_fetch_row($query);
   $name = odbc_result($query,"name");
   $address = odbc_result($query,"address");
   $phone = odbc_result($query,"phone");
?>
   <tr>
      <td><? echo $name;?></td>
      <td><? echo $name;?></td>
      <td><? echo $name;?></td>
      <td><? echo $name;?></td>
   </tr>
<?
} 
?>
</table>

这就是我得到的结果

enter image description here

那么,如何使最后一条记录不循环?谢谢

1 个答案:

答案 0 :(得分:2)

odbc_fetch_row()如果没有要显示的数据,将返回false,因此只需先检查一下并相应地设置变量即可。

   if (odbc_fetch_row($query)) {
       $name = odbc_result($query,"name");
       $address = odbc_result($query,"address");
       $phone = odbc_result($query,"phone");
   }
   else {
       $name = "";
       $address = "";
       $phone = "";
   }

如果您希望完全停止调用,也可以设置一个标志,该标志是从调用中设置的,以提取新数据...

$moreData = true;
for($i=0;$i<=20;$i++)
{
   if ($moreData && $moreData = odbc_fetch_row($query)) {
       $name = odbc_result($query,"name");
       $address = odbc_result($query,"address");
       $phone = odbc_result($query,"phone");
   }
   else {
       $name = "";
       $address = "";
       $phone = "";
   }    ?>
   <tr>
      <td><? echo $name;?></td>
      <td><? echo $name;?></td>
      <td><? echo $name;?></td>
      <td><? echo $name;?></td>
   </tr>
<?
}