如何在一个表的20个固定行上显示少于2条记录?我的意思是,我只想显示更少的记录而不在20行上循环它们,我想保持行仍然为空。如下图所示。
到目前为止,我一直在尝试最后一条记录,一直循环到第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>
这就是我得到的结果
那么,如何使最后一条记录不循环?谢谢
答案 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>
<?
}