从mysqli_fetch_array获取行号(int)

时间:2015-07-10 05:05:30

标签: php mysqli

例如,我的查询中有3行。我用mysql_fetch_array执行它。

所以代码就像这样

$query = "select * from schedule where kode_schedule = '".$q."'";
$query_exec = mysqli_query($conn, $query) or die(mysqli_error($conn));
while($data = mysqli_fetch_array($query_exec))
{
   // i want to echo row number //
   echo $data['kode_schedule'];
   echo $data['nim'];
}

结果就是这样:

1 | KD_0001  | 32110024

2 | KD_0002 | 32110023

3 | KD_0003 | 32110022

主要问题是如何获取行号? {1 , 2 , 3}

3 个答案:

答案 0 :(得分:1)

使用计数器并在每次迭代中递增 -

$i = 1;
while($data = mysqli_fetch_array($query_exec))
{
   echo $i . '|' . $data['kode_schedule'] . '|' . $data['nim'];
   $i++;
}

答案 1 :(得分:1)

您可以在查询中生成行号:

select @rn := @rn+1 AS RowNumber,t1.* from (

     select * from schedule where kode_schedule = XXXXX

) t1, (SELECT @rn:=0) t2 ;
祝你好运!

答案 2 :(得分:0)

如果您的数据表中包含唯一ID(主键),那么您认为它不是行号吗?

或者你可以这样做:

 <?php

$i = 1;
while($row = mysql_fetch_array($query))
{
   echo '
    <tr>
        <td>No '.($i + $offset).'</td>
        <td>'.$row[username].'</td>
        <td>'.$row[value].'</td>
    </tr>';
    $i++;

 }

?>