用PHP对搜索内容分页后,如果改变修改每页显示的数量,刷新后分页效果不是搜索到内容,而是全部的数据库内容分页,这里应该怎么传搜索的关键字信息?每页显示数量,我用的一个form,get方式,我不知道该怎么在action中传递搜索关键字的内容。<td width="15%" height="100%" nowrap><form action="index.php"  method="get" name="pagesizeform" id="pagesize">
      
  每页显示数:
          <input name="pagesize" type="text" id="text" value="20" size="5" maxlength="4" onkeyup="value=value.replace(/[^\d]/g,'')" >
   </td> </form>

解决方案 »

  1.   


    自己写的分页函数,参数有说明,不缀述~
    function page($totle,$page,$displaycount,$txt,$url=''){
    //程序+测试:姜纯洋
    //时间:2009年3月17日
    //参数:$totle:记录总数 $page:当前页号 $displaycount:每页显示记录数 $txt:显示的单位 $url:URL原来的参数
    $displaycount=isset($displaycount)?$displaycount:20;//定义每页显示记录条数,默认20
    $page=(isset($page)&&$page>0)?$page:1; //当前页面,如果没有填写就是1
    $prepage=($page-1>0)?($page-1):1; //上一页
    $lastpage=ceil($totle/$displaycount); //总页数
    $nextpage=($page+1<=$lastpage)?($page+1):$page; //下一页
    $txt=isset($txt)?$txt:'条记录'; //单位量
    $GLOBALS['firstcount']=($page-1)*$displaycount;
    $GLOBALS['pagenav'] = "共<font color='red'>{$totle}</font>,每页<font color='red'>{$displaycount}</font>{$txt},<font color='red'>{$page}/{$lastpage}</font>页 ";
    $GLOBALS['pagenav'] .= ($page-1>0)?"<a href='?{$url}&page=1'>首页</a> ":"";
    $GLOBALS['pagenav'] .= "<a href='?{$url}&page=".$prepage."'>上一页</a> ";
    if($lastpage<5){
    for($i=1;$i<=$lastpage;$i++){
    $GLOBALS['pagenav'] .= "<a href='?{$url}&page={$i}'>{$i}</a> ";
    }
    }else{
    for($i=1;$i<=3;$i++){
    $GLOBALS['pagenav'] .= "<a href='?{$url}&page={$i}'>{$i}</a> ";
    }
    $GLOBALS['pagenav'] .= "...";
    for($i=$lastpage-2;$i<=$lastpage;$i++){
    $GLOBALS['pagenav'] .= "<a href='?{$url}&page={$i}'>{$i}</a> ";
    }
    }
    $GLOBALS['pagenav'] .= "<a href='?{$url}&page=".$nextpage."'>下一页</a>";
    $GLOBALS['pagenav'] .= ($page+1<=$lastpage)?" <a href='?{$url}&page={$lastpage}'>尾页</a>":"";
    }
    function efHeader(){
    echo "<script>window.location.replace('?action=view');</script>";
    }
    function alert($txt,$url=''){
    if($url==''){
    echo "<script>alert(\"{$txt}\");history.back();</script>";
    }else{
    echo "<script>alert(\"{$txt}\");window.location.href='?{$url}';</script>";
    }
    }
      

  2.   

    在[第x页]链接上传递参数$p,然后用页面取得$p,再用$p进行计算,得出数据库查询的语句.
      

  3.   

    楼主的问题是搜索条件丢失的问题.
    把搜索条件存到Session里,标志一下什么时候要重搜,什么时候该从Session里取.
      

  4.   

    跳转页的时候把关键词也传过去,或者存session
      

  5.   

    把原来的搜索条件也附带着一起get提交上去,主要就是在设置翻页链接代码时加上原来的搜索条件,例如:
    // 翻页链接
    $page_string = "";
    if( $page == 1 ){
    $page_string .= "First|Previous|";
    }else{
    $page_string .= "<a href='?page=1";
    if(!empty($_GET['bid'])){$page_string.="&bid=".$_GET['bid'];}
    if(!empty($_GET['sid'])){$page_string.="&sid=".$_GET['sid'];}
    $page_string.="'>First</a>|<a href='?page=".($page-1);
    if(!empty($_GET['bid'])){$page_string.="&bid=".$_GET['bid'];}
    if(!empty($_GET['sid'])){$page_string.="&sid=".$_GET['sid'];}
    $page_string.="'>Previous</a>|";

    if( ($page == $pagecount) || ($pagecount == 0) ){
    $page_string .= "Next|Last";
    }else{
    $page_string .= "<a href='?page=".($page+1);
    if(!empty($_GET['bid'])){$page_string.="&bid=".$_GET['bid'];}
    if(!empty($_GET['sid'])){$page_string.="&sid=".$_GET['sid'];}
    $page_string.="'>Next</a>|<a href='?page=".$pagecount;
    if(!empty($_GET['bid'])){$page_string.="&bid=".$_GET['bid'];}
    if(!empty($_GET['sid'])){$page_string.="&sid=".$_GET['sid'];}
    $page_string.="'>Last</a>";
    }