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;}

然后我,在我的分页中,(如果你需要,我可以在这里发布)使每页的总结果或 $totalpages 等于 $pagesnum ,如下所示:

$total_pages = $pagesnum;

我的问题是我有一个细化搜索,它建议链接到诸如 search.php?q=A+Link+That+is+a+different+page 之类的页面的相关搜索词,并且 $pagesnum 的值丢失了。如何获取用户设置为 $pagesnum 的内容并将其设置为多个页面?

4

2 回答 2

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;}
于 2012-07-25T18:46:12.140 回答
1

如果您有多选下拉菜单,您可以考虑在会话中存储数组

否则只有一个会话变量就足够了

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

于 2012-07-25T18:57:28.977 回答