在codeigniter中输入类型文本的SET $ per_page

hello guys i have the following problem: i've set up my pagination with the help of codeigniter pagination class but i want to do something more:

I would like users to enter a value in an input box... and then the $per_page to be set automaticaly at that value:

here is my code:

public function index($offset = NULL, $limit = NULL)
    {
        $this->load->library('pagination');

        $offset = $this->uri->segment(3);
        $total = $this->db->count_all('posts');

        $per_page = 5;      

        $config['base_url'] = base_url().'welcome/index';
        $config['total_rows'] = $total;
        $config['uri_segment'] = 3;
        $config['per_page'] = $per_page;

        $this->pagination->initialize($config); 

        $data['pagination'] = $this->pagination->create_links();
        $data['posts'] = $this->Model_cats->get_pagination_field($config['per_page'], $offset);

and so on...

the pagination work great!

this is the html:

<div id="pagination">

    <?php  echo $pagination;?> 
    <input type="text" id="set_pagination">
    <input type="submit" id="submit_pagination">

</div>

ok how can i submit a number let's say 3 and show me 3 posts per page?

Any idea? $per_page = $this->input->post.... something..

First change your per_page as

$per_page = 3;

and to your model send $per_page including with offset as

$data['posts'] = $this->Model_cats->get_pagination_field($config['per_page'], $offset,$per_page);

and at your model write limit as

$this->db->limit($perpage,$offset);

thats it....hope it help for you

follow the steps.

1) save the text box value in DB.

2) In DB there will be a single row containing value of per_page. all time this value will be updated.

3) when you are using pagination class pick up that value from DB. 

Hope this will work for you. any better idea than this is appreciated.

One way is to achieve this to post the value to the function,

<div id="pagination">
   <?php echo form_open("controller/function"); ?>
    <?php  echo $pagination;?> 
    <input type="text" id="set_pagination" name="set_pagination">
    <input type="submit" id="submit_pagination">
   <?php echo form_close(); ?>
</div>

In your controller function, get the value.

$per_page = $this->input->post('set_pagination'); 

Then store the value in DB (or) Session.