我正在处理一个从数据库中获取某些记录并显示在表中的项目。获取的记录(行)的数量取决于我给定的条件。所有这些对我来说都很好。
我的挑战是,我希望根据找到的行数显示一个序列号列(SN),其中包含结果集编号1、2、3、4等。尽管我的数据库有id列,它在INSERT命令期间是auto_incremented,但是,如果我获取这个id列值(它对我来说工作得很好),它会给我那些存储的Numer值,而不是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 }
?>发布于 2013-07-08 21:02:47
据我所知..
在while循环中维护一个计数器。对于下一页(如果有分页),将this计数器的值设置为
计数器= (currentpage *每页的项目数)+1
..hope这很有帮助..
发布于 2013-07-10 17:55:37
是的,谢谢朋友们。我通过这种方式找到了我的挑战的答案:
首先,我定义了一个对读取的行数进行计数的计数器:'$cnt‘
$output ="SELECT * FROM guest_tb where((到货日=‘$到货_日’) and (到货月=‘$到货月’) and (到货年=‘$到货年’))按名称排序“;$query=mysql_query($output);$cnt=mysql_num_rows($query);
然后,初始化一个变量$i=1,之后在while循环中,我给出了while循环的两个条件: while($result=mysql_fetch_array($query)和$i<=$cnt)
因此,while循环的第一个条件后来用它从数据库中获取记录并显示在一个表中。
最后,在显示的表格中,我创建了“SN”列,并使用此代码来创建序列号(我正在查找的内容)……序列号取决于获取的记录数,也就是说,如果从数据库获取了3条记录,序列号将从1开始,并在3处结束- $cnt的值。下面是简单的代码:
echo $i。“
";$i++;
这就是全部。希望有人能发现这一点很有用。
https://stackoverflow.com/questions/17526906
复制相似问题