【问题标题】:PHP serial number on fetched database rows获取的数据库行上的 PHP 序列号
【发布时间】:2013-07-05 19:13:48
【问题描述】:

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

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

$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 }

?>

【问题讨论】:

    标签: php serialization auto-increment post-increment


    【解决方案1】:

    据我所知..

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

    counter = (currentpage * 每页的项目数) + 1

    ..希望这会有所帮助..

    【讨论】:

      【解决方案2】:

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

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

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

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

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

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

      回声 $i."
      "; $i++;

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

      【讨论】:

        猜你喜欢
        • 2020-03-01
        • 2014-04-26
        • 1970-01-01
        • 2013-04-15
        • 1970-01-01
        • 2021-10-18
        • 2016-02-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多