[閒聊] 分頁中取得第一頁所選擇的checkbox資訊

看板PHP作者 (黑肉)時間13年前 (2011/06/22 15:17), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
小弟最近在寫一個網頁,其功能是要在頁面上選擇過濾條件, 然後再以分頁方式顯示過濾後的資訊。 分頁的部份很容易,依照隨便一本 php 書籍上的範例即可正常使用。 小弟我碰到的問題就是在於設定過濾條件之後,選擇下一頁資料就會錯誤。 爬了版上與網路上針對分頁所提供的解答,不外乎都是使用 session 去紀錄所選擇的 條件,這樣就可以把參數重複利用。但是這方法小弟始終參透不了,要怎樣把過濾條件 透過 session 傳遞給下一頁的功能使用?小弟最後還是放棄這個方式...不過我用了別 的方法達到我想要的結果,所以就 po 上來給有相同問題還沒解決的朋友參考.. <頁面功能> 1.透過頁面上的 checkbox 選擇要顯示的條件 2.選擇後能夠以分頁方式顯示結果 <solution> checkbox 的 form_method 使用 GET 方式傳遞參數 在 submit checkbox 的選項之後,利用 $_SERVER['REQUEST_URI'] 取得 submit 之後 的網址目錄位址,而這個目錄位址就會包含 checkbox 的選項資訊。 接著就可以將此目錄位置插入程式中分頁的部份,這樣分頁資訊中就會保留 ckeckbox 的 資訊與分頁資訊。 <分頁程式碼片段> 這邊舉我自己的程式片段做例子,如果分頁方式不同可能會有不同的作法.. $ThisURL = $_SERVER['REQUEST_URI'];//取得目前網址目錄部份。 $URL1=split('[?]',$ThisURL);//將網址做分割,以取得 checkbox 資訊。 $URL2=$URL1[0]."?".$URL1[1];//將分割資訊重新組合成完整目錄。 $page=$_GET["page"];//以GET方式取得網址中的 page 資訊。 if(empty($page))$page=1;//page為空則page=1。 echo " <a href=$URL2?&page=1>第一頁</a>"."\n";//產生第一頁的超連結,超連結則為 $URL2?&page=1,所以到了這邊就可以將 checkbox 與 page 資訊都傳送到網址內,這樣 設定搜尋條件的分頁功能就達成了。 if($page>1) { $pre=$page-1; echo " <a href=$URL2?&page=$pre>上一頁</a>"."\n"; } if($page<$show) { $next=$page+1; echo "<a href=$URL2?&page=$next>下一頁</a>"."\n"; } if ($show>=3) echo "<a href=$URL2?&page=$show>最後一頁</a>"."\n"; echo "目前在第".$page."頁"; 希望以上能幫助到其他遇到跟我一樣問題的朋友.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.64.185.211
文章代碼(AID): #1E0PRrRl (PHP)