2016-09-24 108 views
0

我试图做一个基于数据库记录的下一个和上一个按钮,但我真的不知道如何去做,哪一个会是最好的方法。 我想这样做的方式 应该是在名为位置的表中有一个字段。 和查询应该是这样的:创建下一个和上一个按钮

SELECT * FROM t1 WHERE step = 1 

然后在PHP的我会是这样的

$step = $step + 1 // for the next button 
if($step === 1) { 
    $step = 1; 
} else { 
    $step = $step - 1; 
} 

但是,如果我会删除记录,然后我的立场是不同步的数学,我将无法做+或 - 在分段,因为我会找到记录。 这意味着每次我会删除一些东西,我需要做一个新的增量在该领域保持同步,这可能会成为一个问题。

我该如何处理?

+0

它是**分页**你试图实现? –

+0

@RajdeepPaul我有一系列的问题(调查),我想在每个页面上向用户展示它们,当我点击提交表单从数据库中获取下一个问题,或者如果我点击之前获得前面的问题......可能会说它与分页相似。 –

+0

* hmm *。在这种情况下,您的问题有点宽泛(以当前代码为准),请将其缩小并发布您的数据库结构以及完整且相关的PHP代码。 –

回答

1

您可以添加行号的查询是这样的:

select @qposn:[email protected]+1 posn, a.* from sometable a, (select @qposn:=0) x 

您可以选择特定的一行,在这种情况下,第2行,像这样:

select * from (
select @qposn:[email protected]+1 posn, a.* from sometable a, (select @qposn:=0) x 
) x where posn=2 

但要注意如果表格中的数据发生变化,编号也会改变。如果有人删除表中的第一条记录,那么过去是第2行的数据将成为第1行,因此分页可能会跳过或重复行。

如果你的表格比较小,你可能会考虑在javascript数组中缓存表格,然后在数组中分页。

+0

你的方式使事情变得非常简单和美好:-)真的很好的方法得到一个步骤= D –

相关问题