-3

我知道mysqli_data_seek让我们以所需的偏移量移动,但是当满足特定标准时,我如何使用它向后退一步?我正在使用while-loop条件,因此您可以得出结论,当满足条件时,指针将位于下一条记录上。我怎么能把它拉回来一步?

4

2 回答 2

1

它并不像看起来那么难。

  1. 计算获取的偏移量。
  2. 当您达到条件时,如果需要,请转到offset - 1并迭代循环。continue

例子:

$offset = 0;

while($row = $result->fetch_assoc()){

   if($condition && $offset){
        $result->data_seek(--$offset);
        continue;
   }

   $offset++;

   // actions

}

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

没有这样的内置方法(即prev(),或next(), like has)。但是,您可以扩展 类或创建一个 可以做到的装饰器。current()rewind()iteratorsmysqli_result

于 2013-09-25T16:12:39.290 回答
0

尝试这个:

$i = 0;
while($row = mysqli_fetch_row($result)){
 if($i != 0 && condition){
       mysqli_data_seek($result, $i-1);
 }
$i++;
}
于 2013-09-25T16:07:53.193 回答