如何从查询结果中按顺序编号行?

时间:2013-07-29 02:49:19

标签: php foreach

我有一个MySQL表:

id    name    address    phone number
16    ek      kathmandu    3890
18    rk      New york     29304
20    ki      Boston       09683

现在我想在HTML表格中打印此列表,如

id     name    address     phonenumber
1     ek      kathmandu    3890
2     rk      New york     29304
3     ki      Boston       09683

使用逻辑

**id     name    address     phonenumber**
<?php foreach ($list as $namelist){?>
  $namelist->id   $namelist->name  $namelist->address  $namelist->phone number   
<?php}?>

正如我们所看到的,$namelist->id内的foreach将从表中提供直接ID,但我想在ID中使用1 2 3。使用for循环或其他循环,我做到了,但它没有成功。我怎样才能顺序编号行?

3 个答案:

答案 0 :(得分:1)

所以只需在循环外声明:

$i = 0;

然后在循环内部,在显示任何内容之前,迭代它:

$i++;

然后显示它。

答案 1 :(得分:0)

你的意思是:

<?php
  $i = 0;
?>
<?php 
    foreach ($list as $namelist){
      ...
      $i++; //$i will increment with each iteration of foreach
    }
?>

答案 2 :(得分:0)

您始终可以使用变量。

如果你想坚持你的foreach,它可以是这样的

<?php    
        $counter = 1;
             foreach ($list as $namelist){
             echo '<tr>';
             echo '<td>' +  $counter + '</td>';
             echo '<td>' +  $namelist->name + '</td>';
             echo '<td>' +  $namelist->address + '</td>';
             echo '<td>' +  $namelist->phone number + '</td>';
             echo '</tr>';         
              $counter++;
       }
?>

或for for循环

for($i=1; $i<=$numofrows; $i++){

 echo '<tr>';
 echo '<td>' +  $counter + '</td>';
 echo '<td>' +  $namelist->name + '</td>';
 echo '<td>' +  $namelist->address + '</td>';
 echo '<td>' +  $namelist->phone number + '</td>';
 echo '</tr>';      

}