2016-09-24 47 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 –

相關問題