I have an array
http://www.postano.com/api/posts.php?ak=XXXX&ts=XXXXX&sig=XXXXX&postano=12345&start=0&count=20
I will be fetch first 20 records initially. Here is the class
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);
}
}
}
Here feeds is my view.
How can i fetch next 20 records say start or $k = 2
0 so that I can display the results from 0-20 then 21-40 and so on...
I am trying to implement an autoload or loadmore functionality. I am not using model(database) the only source is json response
Since you mentioned over chat that you want to use AJAX, on page load have the first request you wanted. Load up your 20 results.
When you want more results, send an AJAX request and from the script that got requested curl request more products from a specified starting point and limit like Havelock mentioned, something along the lines of
http://www.postano.com/api/posts.php?ak=XXXX&ts=XXXXX&sig=XXXXX&postano=12345&start=21&count=20
Then return the results you got form your ajax request and append it to the page if you want to keep the first 20 results that you had from page load, otherwise replace it.
Good luck!
I would suggest you to pass a variable $page to data() function as argument, which will work as pagination.
And in your data() function, set
$start = $page*$count+1;
Like
In first page or first set of records i.e. from 1-20, $page will be 1.
And if ask for next list of records, set it to 2.