如何在mysqli_query结果对象中返回一条记录

时间:2013-09-25 16:02:23

标签: php mysql

我知道mysqli_data_seek让我们移动到所需的偏移量,但如何在满足特定条件时使用它只退一步?我正在使用{{1}对于条件,所以你可以得出结论,当条件满足时,指针将在下一条记录上。 我怎样才能将其拉回一步?

2 个答案:

答案 0 :(得分:1)

看起来并不那么难。

  1. 计算获取的偏移量。
  2. 当您达到条件时,请转到offset - 1并根据需要使用continue进行循环。
  3. <强> 实施例

    $offset = 0;
    
    while($row = $result->fetch_assoc()){
    
       if($condition && $offset){
            $result->data_seek(--$offset);
            continue;
       }
    
       $offset++;
    
       // actions
    
    }
    

    另外,我会引用我的评论:

      

    没有这样的内置方法(即prev()next(),   current()rewind(),如iterators   具有)。但是,您可以延长   mysqli_result上课或创建一个   decorator,   可以做到。

答案 1 :(得分:0)

试试这个:

$i = 0;
while($row = mysqli_fetch_row($result)){
 if($i != 0 && condition){
       mysqli_data_seek($result, $i-1);
 }
$i++;
}