0

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

我的挑战是我想根据找到的行数显示带有结果集编号 1、2、3、4 等的序列号列 (SN)。虽然我的数据库有在命令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 }

?>
4

2 回答 2

0

据我所知..

在while循环内维护一个计数器。对于下一页(如果您有分页),将此计数器的值设置为

计数器 = (当前页 * 每页的项目数) + 1

..希望这可以帮助..

于 2013-07-08T13:02:47.093 回答
0

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

首先,我定义了一个计数器来计算获取的行数:'$cnt'

$output ="SELECT * FROM guest_tb where((arrival_day='$arrival_day') and (arrival_month='$arrival_month') and (arrival_year='$arrival_year')) 按名称 asc 排序"; $query=mysql_query($output); $cnt=mysql_num_rows($query);

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

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

最后,在显示的表格中,我制作了'SN'列并使用此代码创建序列号(我正在寻找的)......并且序列号取决于获取的记录数,即如果有从数据库中获取 3 条记录,序列号将从 1 开始并停止在 3 - $cnt 的值。这是简单的代码:

回声 $i。"
"; $i++;

就是这样。希望有人能发现这很有用。

于 2013-07-10T09:55:36.813 回答