提取的数据库行上的PHP序列号


PHP serial number on fetched database rows

我正在处理一个项目,该项目从数据库中获取某些记录并显示在表中。获取的记录(行)数取决于我给定的条件。所有这些对我来说都很好。

我的挑战是,我想显示一个序列号列(SN),其结果集编号为1、2、3、4等,具体取决于找到的行数。虽然我的数据库有id列,它在INSERT命令期间自动递增,但是,如果我获取这个id列的值(对我来说很好),它会给我那些存储的数值,而不是1、2、3等。下面的代码是我使用的,对我来说也很好,只是在列下面填充1、2,3、4等SN列。

$output ="SELECT * FROM guest_tb where((arrival_day='$arrival_day') and (arrival_month='$arrival_month') and (arrival_year='$arrival_year')) order by names asc";
$query=mysql_query($output);
//$cnt=mysql_num_rows($query);
while($result=mysql_fetch_array($query)) {?> <tr>  
<td><div align="center" class="style61">  
<div align="left"><?php // Here comes the code for serial number </div></div></td>
<td><div align="center" class="style61">  
<div align="left"><?php echo $result['names']; if(($result['room_number'])!=="") {echo " (Room ".$result['room_number'].")";} ?></div>  
  </div></td>  
  <td><div align="center" class="style61"><?php echo   number_format($result['room_rate'],0,',',',')." NGN" //echo ", ". $result['Website'];?></div>  
      <div align="center"></div></td>  
  <td><div align="right" class="style61"><?php echo   number_format($result['amount_paid'],0,',',',')." NGN";?></div></td>  
  <td align="center"><div align="center" class="style61"><?php echo $result['remark'];?></div>     </td>
</tr>
<?php }
?>

根据我的理解。。

在while循环中保持一个计数器。对于下一页(若要分页),请将此计数器的值设置为

counter=(当前页面*每页项目数)+1

希望这能有所帮助。。

是的,谢谢朋友们。我用这种方式找到了应对挑战的答案:

首先,我定义了一个计数器,用于计算提取的行数:"$cnt"

$output="SELECT*FROM guest_tb,其中((arrival_day='$arrival_day')和(arrival_month='$rrival_month')以及(arrivat_year='$arrival_year'))按名称asc排序";$query=mysql_query($output);$cnt=mysql_num_rows($query);

然后,初始化变量$i=1,之后在while循环中,我为while循环给出了2个条件:while($result=mysql_fetch_array($query)和$i<$cnt)

因此,while循环的第一个条件后来用于从数据库中获取记录并显示在表中。

最后,在显示的表格中,我制作了"SN"列,并使用此代码创建序列号(我正在查找的内容)。。。序列号取决于提取的记录数,也就是说,如果从数据库中提取了3条记录,序列号将从1开始,并停止在3——$cnt的值。这是一个简单的代码:

echo$i。"
";$i++;

仅此而已。希望大家能发现这个有用。