我正在制作一个新网站来学习编码,并为搜索应用程序制作每页的结果。所以基本上,我有一个选择/下拉列表,看起来像这样:
<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的变量中,或者如果没有设置每页的结果,只需像这样将$pagesnam设置为10(它位于页面的最顶部:
if ($_REQUEST['select'] != null){ $pagesnum = $_REQUEST['select'];}else{$pagesnum = 10;}
然后,在我的分页中(如果你需要的话,我可以在这里发布),使每页的总结果或$totalpages等于$pagesnum,如下所示:
$total_pages = $pagesnum;
我的问题是,我有一个Refine Search,它建议链接到Search.php等页面的相关搜索词?q=A+链接+That+是+A+不同+页面,$pagesnum的值丢失。如何获得用户设置为$pagesnum的内容,并在多个页面上进行设置?
请看一下PHP会话,这里有一个如何在您的案例中应用它的示例。
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;}
如果您有多选下拉,您可以考虑在会话中存储数组
否则,一个会话变量就足够了
http://www.phpriot.com/articles/intro-php-sessions/7