最近做搜索分页的时候,发现第一页显示正常,点击到下一页的时候,显示结果变成了搜索全部内容。
仔细查看代码,发现当第一次输入关键词,提交到查询控制器的时候,表单提交的关键字不为空,可是点击到下一页的时候,关键字不能post过来。
找到原因后,就好解决了,想到了两种解决方法:
①用session把关键字keyword保存起来(以下为codeigniter框架代码)
$keyword = $this->input->post(‘keyword‘); if(!empty($keyword)){ // 这个判断很重要,不然点击第二页的时候又存入空内容 $this->session->set_userdata(‘keyword‘,$keyword); //把关键字存入session } $keyword = empty($keyword) ? $this->session->userdata(‘keyword‘) : $keyword;
②用mysql存储过程,这个还不是很熟悉,正在探索中。