使用codeigniter,ajax如何从数组中获取下一条记录

时间:2012-12-14 12:19:44

标签: php codeigniter jquery

我有一个数组

http://www.postano.com/api/posts.php?ak=XXXX&ts=XXXXX&sig=XXXXX&postano=12345&start=0&count=20

我最初将获取前20条记录。 这是班级

class social extends CI_Controller{
function data()
{
$start = $k;

$resultjson = $this->curl->simple_get("http://www.postano.com/api/posts.php?ak=XXXXX&ts=XXXXX&sig=XXXXX&postano=12345&start=$k&count=20");
$resultant_data = json_decode($resultjson,true);
foreach ($resultant_data as $key => $value)
     {
     //print_r($value);
     $this->load->view('feeds',$value);
     }
 }

}

此处Feed是我的视图

如何获取接下来的20条记录start or $k = 2 0,以便我可以显示0-20 then 21-40 and so on...的结果

我正在尝试实施自动加载加载更多功能。  我没有使用模型(数据库)唯一的来源是json响应

2 个答案:

答案 0 :(得分:3)

由于您在聊天中提到要使用AJAX,因此在页面加载时会有您想要的第一个请求。加载你的20个结果。

当你想要更多结果时,发送一个AJAX请求,并从获得请求curl的脚本请求更多来自指定起点和限制的产品,如Havelock所提到的,

http://www.postano.com/api/posts.php?ak=XXXX&ts=XXXXX&sig=XXXXX&postano=12345&s‌​tart=21&count=20

然后返回从ajax请求中获得的结果,如果要保留页面加载时的前20个结果,则将其附加到页面,否则替换它。

祝你好运!

答案 1 :(得分:2)

我建议你将变量 $ page 传递给 data()函数作为参数,这将作为分页。

在您的data()函数中,设置

$start = $page*$count+1;

在第一页或第一组记录中,即1-20页,$ page将为1。

如果要求下一个记录列表,请将其设置为2.