php
  • javascript
  • 2012-07-25 111 views 0 likes 
    0

    我正在建立一個新的網站來學習編碼,併爲每個搜索應用程序的頁面創建一個結果。所以基本上,我有一個選擇/下拉列表看起來像這樣:在多個頁面上存儲選擇/下拉值

    <form name='form1' method='post'> 
         <font style="font-size:12px;">Results per Page:</font> 
         <select name='select' onChange='document.form1.submit()'> 
           <option value='10'<?php if($pagesnum == 10) {echo "selected='selected'";} ?>>10</option> 
           <option value='15'<?php if($pagesnum == 15) {echo "selected='selected'";} ?>>15</option> 
          <option value='20'<?php if($pagesnum == 20) {echo "selected='selected'";} ?>>20</option> 
          <option value='25'<?php if($pagesnum == 25) {echo "selected='selected'";} ?>>25</option> 
         </select> 
    </form> 
    

    這只是走的是用戶期望的每頁結果數,一旦他們改變選擇/下拉列表的頁面被刷新。然後,我將每頁的用戶結果數據存儲到一個名爲$ pagesnum的變量中,或者如果沒有設置每頁結果,只需將$ pagesnum設置爲10即可(它位於頁面的頂部):

    if ($_REQUEST['select'] != null){ $pagesnum = $_REQUEST['select'];}else{$pagesnum = 10;} 
    

    然後,我在我的分頁,(其中,如果你在這裏需要它,我可以張貼),使每個頁面的總結果或$總頁數等於$ pagesnum這樣的:

    $total_pages = $pagesnum; 
    

    我的問題是,我有一個精確搜索,建議鏈接到像search.php這樣的頁面的相關搜索術語?q = A + Link + That +是+ a +不同+頁面,$ pagesnum的值會丟失。 $ pagesnum並擁有它跨多個頁面設置?

    回答

    1

    請看PHP Sessions,這裏有一個如何應用它的例子。

    session_start(); 
    if(!empty($_REQUEST['select'])){ 
        $pagesnum = $_REQUEST['select']; 
        $_SESSION['pagesnum'] = $pagesnum; 
    }else{ 
        $pagesnum = $_SESSION['pagesnum']; 
    } 
    

    你可以使用上面的代碼,而不是這個

    if ($_REQUEST['select'] != null){ $pagesnum = $_REQUEST['select'];}else{$pagesnum = 10;} 
    
    +0

    謝謝,一定會看看! – infinity 2012-07-26 00:09:15

    1

    你可以想想在會話中存儲陣列,如果你有多種選擇下拉

    否則只是一個會話變量足夠

    http://www.phpriot.com/articles/intro-php-sessions/7

    相關問題