把参数用url传到本页。
用$_GET去取。
比如<a href='**.php?page=2&a=1&b=2&c=3'>下一页</a>

解决方案 »

  1.   

    还是不太明白Pager($countAll,$pagelist是调用别人写的。
      

  2.   

    //定义几个全局变量: 
    //$page:当前页码; 
    //$firstcount:(数据库)查询的起始项; 
    //$pagenav:页面导航条代码,函数内部并没有将它输出; 
    //$_SERVER:读取本页URL“$_SERVER["REQUEST_URI"]”所必须。 
    global $page,$firstcount,$pagenav,$_SERVER;
    1:请问在一页中我需怎样做才能保留住查询结果?
        按你现在的代码是不能保留住查询结果,只能是每次去数据库取,比方说,第1页是1-3项,那第二页,自然是从(1*3+1=4)项开始,到第7项结束。
    2:但一点另一页记录就没有了。
       你可以把你的那取数据的SQLyygygk语句打印出来,看是不是你需要的?
      

  3.   

    比较笨但也比较有效的方法就是用URL
    把所有的参数都写入URL中传递
    如xxx.php?class_id=12&key=yyy&id=12··············
      

  4.   

    还是不明白为什么加上分页就不行。点击另一页相当于什么(刷新?)?还有一个查询页面传递的是session变量,不是用的表单提交的数据,分页显示就正常。
    差别到底在哪里,通过什么取消这种差别?
      

  5.   

    这是调用的分页程序,帮我看看怎么改?
    <?php/**
    ** 通用php分页类。(仿Google样式)
    ** 只需提供记录总数与每页显示数两个参数。(已附详细使用说明.....)
    ** 无需指定URL,链接由程序生成。方便用于检索结果分页。
    **/class Pager{
    var $url;
    var $countall;
    var $page;
    var $thestr;
    var $backstr;
    var $nextstr;
    var $pg;
    //构造函数,实例化该类的时候自动执行该函数
    function Pager($countall,$countlist){
    @$this->pg=sprintf("%d",$_GET["pg"]);
    //保证pg在未指定的情况下为从第1页开始
    if ($this->pg==0){
    $this->pg=1;
    }
    if (!isset($this->pg)){
    $this->pg=1;
    }
    //记录数与每页显示数不能整队时,页数取余后加1
    $this->countall = $countall;
    if ($this->countall%$countlist!=0){
    $this->page=sprintf("%d",$this->countall/$countlist)+1;
    }
    else{
    $this->page=$this->countall/$countlist;
    }//得到当前的URL。具体实现请看最底部的函数实体
    $this->url = Pager::getUrl();//生成12345等数字形式的分页。
    if ($this->page<=10){
    for ($i=1;$i<$this->page+1;$i++){
    $this->thestr=$this->thestr.Pager::makepg($i,$this->pg);
    }
    }
    else{
    if ($this->pg<=5){
    for ($i=1;$i<10;$i++){
    $this->thestr=$this->thestr.Pager::makepg($i,$this->pg);
    }
    }
    else{
    if (6+$this->pg<=$this->page){
    for ($i=$this->pg-4;$i<$this->pg+6;$i++){
    $this->thestr=$this->thestr.Pager::makepg($i,$this->pg);
    }
    }
    else{
    for ($i=$this->pg-4;$i<$this->page+1;$i++){
    $this->thestr=$this->thestr.Pager::makepg($i,$this->pg);
    }}
    }
    }
    //生成上页下页等文字链接
    $this->backstr = Pager::gotoback($this->pg);
    $this->nextstr = Pager::gotonext($this->pg,$this->page);
    echo ($this->backstr.$this->thestr.$this->nextstr." 共".$this->countall." 条,每页".$countlist."条,分".$this->page."页");
    }
    //生成数字分页的辅助函数
    function makepg($i,$pg){
    if ($i==$pg){
    return " <font color=red><b>".$i."</b></font>";
    }
    else{
    return " <a href=".Pager::replacepg($this->url,5,$i).">".$i."</a>";
    }
    }
    //生成上一页等信息的函数
    function gotoback($pg){
    if ($pg-1>0){
    return $this->gotoback=" <a href=".Pager::replacepg($this->url,3,0).">首页</a> <a href=".Pager::replacepg($this->url,2,0).">上页</a>";
    }
    else{
    return $this->gotoback="";
    }}
    //生成下一页等信息的函数
    function gotonext($pg,$page){
    if ($pg < $page){
    return " <a href=".Pager::replacepg($this->url,1,0).">下页</a> <a href=".Pager::replacepg($this->url,4,0).">尾页</a>";
    }
    else{
    return "";
    }
    }//处理url中$pg的方法,用于自动生成pg=x
    function replacepg($url,$flag,$i){
    if ($flag == 1){
    $temp_pg = $this->pg;
    return str_replace("pg=".$temp_pg,"pg=".($this->pg+1),$url);
    }
    else if($flag == 2) {
    $temp_pg = $this->pg;
    return str_replace("pg=".$temp_pg,"pg=".($this->pg-1),$url);
    }
    else if($flag == 3) {
    $temp_pg = $this->pg;
    return str_replace("pg=".$temp_pg,"pg=1",$url);
    }
    else if($flag == 4){
    $temp_pg = $this->pg;
    return str_replace("pg=".$temp_pg,"pg=".$this->page,$url);
    }
    else if($flag == 5){
    $temp_pg = $this->pg;
    return str_replace("pg=".$temp_pg,"pg=".$i,$url);
    }
    else{
    return $url;
    }
    }
    //获得当前URL的方法
    function getUrl(){
    $url="http://".$_SERVER["HTTP_HOST"];if(isset($_SERVER["REQUEST_URI"])){
    $url.=$_SERVER["REQUEST_URI"];
    }
    else{
    $url.=$_SERVER["PHP_SELF"];
    if(!empty($_SERVER["QUERY_STRING"])){
    $url.="?".$_SERVER["QUERY_STRING"];
    }
    }
    //在当前的URL里加入pg=x字样
    if (!ereg("(pg=|PG=|pG=|Pg=)", $url)){
    if (!strpos($url,"?")){
    $url = $url."?pg=1";
    }
    else{
    $url = $url."&pg=1";
    }
    }
    return $url;
    }
    }
    ?>