大家好我有以下问题:我已经在codeigniter分页课的帮助下设置了我的分页但是我想做更多的事情:
我希望用户在输入框中输入一个值...然后$per_page
自动设置为该值:
这是我的代码:
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);
依旧......
分页工作很棒!这是html:
<div id="pagination">
<?php echo $pagination;?>
<input type="text" id="set_pagination">
<input type="submit" id="submit_pagination">
</div>
好的,我如何提交一个号码,让我们说3并向我显示每页3个帖子?
有什么想法吗? $per_page = $this->input->post
....某事......
答案 0 :(得分:1)
按照步骤操作。
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.
希望这对你有用。任何比这更好的想法是值得赞赏的。
答案 1 :(得分:1)
一种方法是实现此目的,将值发布到函数
<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>
在控制器功能中,获取值。
$per_page = $this->input->post('set_pagination');
然后将值存储在DB(或)Session。
中答案 2 :(得分:0)
首先将per_page更改为
$per_page = 3;
并向您的模型发送$ per_page,包括偏移为
$data['posts'] = $this->Model_cats->get_pagination_field($config['per_page'], $offset,$per_page);
并且在您的模型写入限制为
$this->db->limit($perpage,$offset);
多数民众赞成......希望对你有所帮助