在网上搜索了一大堆答案:
1)用session值, 没解决问题
2)正面各种添加一段代码,结果仍旧没解决问题
1.$Page->parameter = array_map('urldecode',$map);
2.
//分页跳转的时候保证查询条件分页类自带有 $parameter;
foreach($search as $key=>$val) {
$Page->parameter .= "$key=".urlencode($val)."&";// 分页跳转时要带的参数
}
3. foreach($search as $key=>$val) {
$Page->parameter[$key] = urlencode($val);
}
4.foreach($search as $key=>$val) {
$Page->parameter[$key] = urlencode($val[1]);
}
........, $Page->parameter输出搜索值都正确了,但就是传不到URL中的参数里,都郁闷的要死了,不知道哪块出问题了,无意看到parameter 属性赋值与实例化分页类的时候将 parameter 参数传入是一样的效果,尝了下问题解决!
$page =getPage($count,$pageSize,$parameter);
就在这加个$parameter,把上面哪些代码都去掉,问题全部解决!
public function search(){
//实例化模型
$model = M('Dept');
$keyword=$_GET['keyword'];
$pageSize =5;
$search['name'] = ['like','%'.$keyword.'%'];
//dump($search);die;
$count = $model->where($search)->count();
//dump($count);die;
$page =getPage($count,$pageSize,$parameter);
//parameter 属性赋值外没解决传参问题
//实例化分页类的时候将 parameter 参数传入解决问题
$show = $page -> show();
//分页第五步:展示数据
$data = $model->where($search) -> limit($page -> firstRow.','.$page -> listRows) -> select();
//dump($data);
//var_dump($model->getLastSql());//调试sql语句,查最后一条
$this -> assign('keyword',$keyword);//保留搜索值在搜索框
$this->assign('data',$data);
$this->assign('show',$show);
$this->display();
}
}
保留搜索值在搜索框内,控制器里要有: $keyword=$_GET['keyword']; $this -> assign('keyword',$keyword);
在view里面value="{$keyword}",input的name值为keyword