第一次使用sp 有没有ajax分页的实例

#1 大马

rt   麻烦哪位介绍下思路也可以  非常感谢  :)

2011-07-17 23:25:13

#2 jake

看手册,结合分页和ajax的教程,就可以明白ajax分页怎么做了

2011-07-17 23:32:13

#3 anythink

回复 1 大马


    新的pagerAjax 方法奉上

首先是要用我的  pagerHtml 的方法,然后才能加这个方法

放到spModel 里

$runarea 参数为显示ajax内容的 id名称

 
/**获取html版本的分页**/
public function pagerAjax($c='main',$a='index',$filter = array(),$runarea='')
{
   $pager =$this->getPager();
   $pages = $this->makepage($pager); //获得截断的pages
   $pageHtml = Null;
  if($pager)
  {
   //显示头部
   if($pager['current_page'] != $pager['first_page'])
   {
    $url = spUrl($c,$a, array_merge(array('page'=>$pager['first_page']),$filter));
    $next = spUrl($c,$a,array_merge(array('page'=>$pager['prev_page']),$filter));
    $pageHtml .= '« 第一页
      « 上一页';
   }
   
   //显示中间
    foreach($pages as $thepage)
    {
      if($thepage != $pager['current_page'])
       {
        $url = spUrl($c,$a,array_merge(array('page'=>$thepage),$filter));
        $pageHtml .= ''.$thepage.' ';
       }else{
        $pageHtml .= ''.$thepage.'';
       }   
    }
   
    //显示尾页
    if($pager['current_page'] != $pager['last_page'])
    {
     $next = spUrl($c,$a,array_merge(array('page'=>$pager['next_page']),$filter));
     $end = spUrl($c,$a,array_merge(array('page'=>$pager['last_page']),$filter));
     
     $pageHtml .= '下一页 »
          尾页 »';
    }  
     //$pageHtml .=  $pager['total_count'].'/'.$pager['total_page'].'/'.$pager['page_size'];
   }
   return $pageHtml;
  
}



jquery 部分

/*ajax page*/
function runpage(url,id)
{
$(''+id).html('

loading......

');
$.post(url,function(result){
    $(''+id).html(result);
   $(''+id).find('upstates').remove();
  })
}

2011-07-18 11:18:47

#4 jake

楼上的好:handshake

2011-07-18 12:22:02

#5 大马

:)  谢谢楼上啊  非常感谢

2011-07-18 20:27:21

#6 大马

回复 3 anythink

2011-07-18 21:12:44

#7 大马

回复 3 anythink


    controller里该如何处理呢   菜鸟不太明白    谢谢指点 :D

2011-07-18 21:18:06

#8 anythink

回复 7 大马


    $pager = spClass('db_replay')->spPager()->pagerAjax('blog','getReplay',array('bid'=>$bid),'commentList_'.$bid);

2011-07-18 21:53:23

#9 大马

回复 8 anythink


    $bid = $this->spArgs("bid");
            $tbl_comment=spclass("tbl_comment");       
            $results = $tbl_comment->spPager()->pagerAjax('product','detail',array('bid'=>$bid),'commentList_'.$bid);
            $this->pager = $tbl_comment->spPager()->getPager();

报错   方法 getPager 未定义

麻烦可以贴个完整的吗?   菜鸟真的不太明白  :Q   非常感谢了

2011-07-19 20:29:28

#10 anythink

回复 9 大马


    哪用 getpager 了?

 
$result = spClass('db_replay')->spLinker()->spPager($this->spArgs('page',$page),$limit)->findAll(array('bid'=>$this->spArgs('bid')),'time desc','');


这是 获取数据


  $pager = spClass('db_replay')->spPager()->pagerAjax('blog','getReplay',array('bid'=>$bid),'commentList_'.$bid);

这是分页



搜我的主题 我发了一个分页的东西, 把这个帖子的方法 加入到我发的 那个 pager 类 里面 即可

2011-07-20 14:45:24