2009-06-02 71 views
1

在我正在處理的網站上,我正在顯示來自數據庫查詢的結果。每個頁面顯示15個結果,因此如果查詢返回45個結果,它們將顯示在3個單獨的頁面上,每個頁面包含15個結果。如何使用PHP,HTML等從多個頁面中選擇項目?

我希望用戶能夠從第一頁中選擇任意數量的項目,然後切換到其他頁面並從這些頁面中選擇項目,同時仍然記住在第一頁上選擇的項目。 (最終,當用戶選擇所有項目時,他將點擊一個提交按鈕。)因此,如果用戶導航返回到第一頁,他檢查的項目應該顯示爲被選中。在Web上看到的頁面上,當用戶導航回第一頁時,所有複選框都會再次被清除(這不是我想要的)。

的最佳途徑的任何想法來實現這一目標?謝謝。

回答

6

記住的選擇結轉的結果之間的頁面意味着你有一些需要存儲某處狀態。有多種方法可以做到,但它歸結爲其中的一個......

  1. 保持它在客戶端(如餅乾)
  2. 保留在服務器上(如數據庫)
  3. 保持向前和向後將其發送(如隱藏的表單字段,如ASP.NET視圖狀態)

這樣的平臺,因爲PHP和ASP.NET提供了一個通用的抽象是「會話」的想法。會話狀態的實際實現可能是上述3種可能性的組合,並且它可能提供了最簡單的路線。我建議你看看PHP中的會話狀態。

1

你可以做很多事情。

  • 另存爲JavaScript Cookie進行
  • 另存爲一個會話通過在每個使用AJAX點擊
  • 隱藏每一頁的「標籤」,所以他們實際上是有,但只是沒有顯示。
+0

我喜歡這個標籤的想法,但是根據我的經驗,我發現它在幾頁後不能很好地擴展。 – TheTXI 2009-06-02 12:39:12

+1

所有這些需要javascript,並且不會優雅地降級 – 2009-06-02 12:45:15

3

採用隱藏式輸入從以前的集

<!-- hidden fields --> 
<input type='hidden' name='whatever[]' value='whatever'/> 

<!-- checkboxes --> 
<input type='checkbox' name='whatever[]' value='whatever'/> 
相關問題