1

我有一个 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循环或其他循环,我做到了,但没有成功。如何按顺序编号行?

4

3 回答 3

1

所以只需在循环外声明:

$i = 0;

然后在循环内部,在显示任何内容之前,对其进行迭代:

$i++;

然后改为显示它。

于 2013-07-29T02:53:21.453 回答
0

你的意思是:

<?php
  $i = 0;
?>
<?php 
    foreach ($list as $namelist){
      ...
      $i++; //$i will increment with each iteration of foreach
    }
?>
于 2013-07-29T02:54:23.540 回答
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($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>';      

}
于 2013-07-29T02:57:25.347 回答