spPager能不能实现数组的分页

#1 陈景山

新浪微博应用开发时很多时候,数据库中可能只保存了一个id,页面中用到的数据需要根据这些id列表调用API获取到,这时候需要传给页面的分页数据用当前的
$this->weibo_list = $rt_weibo->spPager($this->spArgs('page',1), 10)->findSql("SELECT id  FROM  rt_weibo WHERE is_on=1 ORDER BY id DESC");
  $this->pager = $rt_weibo->spPager()->getPager();
这种模式就不好实现了

jake大大看下,这个该怎么解决呢?

该贴已经同步到 陈景山的微博

2011-01-16 00:23:54

#2 jake

也就是说,本身spPager获取的数据就只有id,然后再附加了查询API的操作,之后再返回(分页的)。
有两个方法:
1. 不用spPager,直接计算页码,其实只要计算到页码总数就可以了。
2. 封装spPager的操作。在$rt_weibo这个类当中:
public function getmypager($page = 1, $pageSize){
$ids = $this->spPager($page, $pageSize)->findSql(...);//先获取表中ID
$data = array();
foreach($ids as $id){
// 这里操作API
$data[] = ...
}
return array(
'data' => $data,
'pager' =>$this->spPager()->getPager(),
);
}

2011-01-16 09:48:14