wangmao2002 发表于 2008-4-21 17:34:02

关于提交表单后分页的问题

表单提交查询后,分页
因为有多个页
但是取下一页的时间,通过表单提交的值却变了,怎么才能让值不变

我在控制器中没有传其它参数

比如
控制器
function get_test()
{
$this->load->model('model_zjcy','',true);
$this->load->library('pagination');
$count=$this->model_zjcy->get_test_list
$page_cfg['base_url'] =base_url(). "/do.php/zjcy/get_test/";

$page_cfg['total_rows'] =$count->num_rows();
$page_cfg['per_page'] = '20';
    $page_cfg['full_tag_open'] = '<p>';
    $page_cfg['full_tag_close'] = '</p>';
$page_cfg['first_link'] = '首页';
$page_cfg['last_link'] = '尾页';
$this->pagination->initialize($page_cfg);
$data['page_links'] = $this->pagination->create_links();
    $data['rctj'] =$this->model_zjcy->get_test_list($page_cfg['per_page'],$this->uri->segment(3));   
$this->load->view('zjcy/zjcy_test',$data);
}
模型:

function get_test_list($num="",$offset="")
{
    $this->db->select('test.*');
$this->db->from('test');
$this->db->where('test.sex', $this->input->post('sex'));
$this->db->where('test.qualifications', $this->input->post('qualifications'));
$this->db->like('posts',$this->input->post('posts'),'both');
$this->db->like('address',$this->input->post('address'),'both');
$this->db->orderby("pubdate", "desc");
$this->db->limit($num,$offset);
$query = $this->db->get();
return $query;
}

}

只要我取下一页时,所取的值就不是我想得到的值

这个是为什么
请高手帮帮忙

Hex 发表于 2008-4-21 18:05:23

没听懂你说的什么。什么值变了?

tiana 发表于 2008-4-22 02:01:25

这个问题是值得注意的

因为你第一次进行查询时,你是以POST方式提交查询条件,这样第一次的结果查询出来,分页生成,没什么异常,但当你随便点一个分页链接后,你的POST提效查询的条件就没了,这样就查询不出东东咯,解决办法就是将查询条件存入session或是用url带查询条件形式来进行点击分页链接查询 :)

wangmao2002 发表于 2008-4-22 08:44:49

回复 2楼 的帖子

我是说传递过去的值变了
像这种值
$this->input->post('qualifications')

Hex 发表于 2008-4-22 09:42:05

为什么会变?你不修改肯定不会变啊。

gwpxjb 发表于 2008-4-22 10:23:58

POST不会因为你刷新当前页面就改变吧:lol

wangmao2002 发表于 2008-4-22 10:58:32

回复 5楼 的帖子

我也认为不会变,只有一页的情况
就是我想要的结果
但是有将结果分成几页后,就不是我想要的结果了

wangmao2002 发表于 2008-4-22 11:00:16

回复 3楼 的帖子

我用session 的方法也不行了,当查询结果只有一页时,没有问题,多分几页也是一样的
值还是改变了
不知道你用session 是怎么做的

gwpxjb 发表于 2008-4-22 11:01:21

那应该是你limit后的参数传递不对吧

wangmao2002 发表于 2008-4-22 11:07:28

回复 9楼 的帖子

那为什么只有一页的时候是对的呢
本来我查询结果只有5条
现在此我测试时将每一页的20条改为2,
单击下一页时,就不是我想要的结果
因为这时where 的条件变了,所以就不是我想要的结果了
页: [1] 2 3 4
查看完整版本: 关于提交表单后分页的问题