我知道mysqli_data_seek
让我们移动到所需的偏移量,但如何在满足特定条件时使用它只退一步?我正在使用{{1}对于条件,所以你可以得出结论,当条件满足时,指针将在下一条记录上。 我怎样才能将其拉回一步?
答案 0 :(得分:1)
看起来并不那么难。
offset - 1
并根据需要使用continue
进行循环。<强> 实施例 强>
$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++;
}