2012-04-09 19 views
-1

我想創建PHP與MySQL的搜索表單,並做了分頁如何在php和mysql中創建帶分頁的搜索表單?

,所以我有一個看起來像這樣的形式:

<form action="search_results.php" method="post"> 
         <select name="cat" id="cat"> 
          <option>Select Category</option> 
          <?php 
          foreach($categories as $category) { 
          echo "<option value=\"{$category -> name}\">{$category -> name}</option>"; 
          } 
          ?> 
         </select> 
         <select name="sub-cat" id="sub-cat"> 
          <option>Select Sub Category</option> 
         </select> 
         <label>Price Range</label> 
         <input type="text" name="from" placeholder="From" /> 
         <input type="text" name="to" placeholder="To" /> 
         <input type="submit" value="" name="submit" /> 
        </form> 

我的問題是,我得到的第一頁中search_result.php

,當我嘗試去到第二頁的$ _POST [「提交」]將無法設置,因爲它沒有得到任何提交

任何人有一個想法如何解決這個問題問題

在此先感謝。

回答

2

您應該在這種情況下爲表單和後續分頁鏈接使用GET,這是您指定的原因。

POST可以更好地用作一次性操作,其中GET是可以過濾和黑客入侵的資源請求。

search_results.php?cat=1&sub-cat=2&page=2 

search_results.php?cat=1&sub-cat=2&page=3 

search_results.php?cat=1&sub-cat=2&page=4 

search_results.php?cat=1&sub-cat=2&page=5 
+0

我試圖避免使用得到所以從你所說的沒有其他方式得到它與$ _GET – 2012-04-09 21:47:11

0

最簡單的方法是將生成「下一個」和「上」的網址在查詢字符串搜索信息,然後有接收頁面從$ _GET代替$ _ POST閱讀。 $ _GET數組的工作方式與$ _POST數組完全相同,僅適用於在URL中傳遞的變量。

另一種選擇是創建一個表單,其中隱藏字段中包含搜索信息,並使用javascript使「下一個」和「上一個」鏈接更改頁面的值,然後提交形成。這將允許您使用與您現在使用的完全相同的基於POST的代碼,但它可以防止用戶爲搜索頁面添加書籤,並可能產生其他意想不到的效果。

+0

非常感謝,但有一個例子,如果你不介意,因爲我沒有使用過基於JavaScript的next和previous – 2012-04-09 21:50:28

+2

基本的命令是'document.getElementById('YourFormId')。submit()'。如果你在網上搜索「javascript表單提交」,你會發現許多教程在上下文中顯示它。 – octern 2012-04-10 02:31:57