关于 分页 翻页 传参 问题 求证
首先 对于PHP 来说 我是新手
最近一直被分页翻页问题困扰 今天做出了个自己认为省事的办法 请高手们发表看法
翻页思路
我想在 模型 里 直接通过URL获得参数,进行查询,如果老大HEX 觉得可行,请通知我一声,我就放心了,如果觉得好,我会写详细点贴出来,自己认为还不错,这里只是写一下思路,请高手们看看。
1.通过URL传参
表单里的action为JS 控制提交 action='http://localhost/index.php/控制器/方法/'+'参数1' 用GET方法提交
控制器(参数1)
{
$this->load->library('pagination');
$this->load->library('table');
$config['base_url']=base_url().'index.php/jihuaxinxi/chakanjihua'.'/'.$参数1;
$config['total_rows']=$this->m_jihuaxinxi->get_rows();您会注意 这个地方没有参数
$config['per_page']=2;
$config['uri_segment'] = 4;
$this->pagination->initialize($config);
$data['results']=$this->m_jihuaxinxi->chakanjihua($config['per_page'],$this->uri->segment(4));您会注意 这个地方没有参数
$this->load->view('Cfrm/jihuaxinxi/chakanjihua.html',$data);
}
重要 模型
模型()
{
//因为参数在URL里 现在打印出URL看看
http://localhost/index.php/控制器/方法/参数1/页数
现在可以在URL取出你想要的了 用到了这个函数 $this->uri->segment() 在手册里可以看到 参数1是在第3个 取出来
$变量=$this->uri->segment(3); 有人说 这个参数是中文呢?
比如:http://localhost/index.php/jihuaxinxi/chakanjihua/-/%E8%BF%9B%E6%A1%A3/-/1
//用这个函数解码就好
$变量= urldecode($this->uri->segment(3));
//这样就可以取出你想要的参数,进行查询了 ,翻页时候也没有任何问题
}
因是自创武功,始终不知道有没有隐患,老是不放心,请老大予以评价!
[解决办法]
楼主指的安全性 还是 性能?
一般过滤下 字符,htmlentities转义下就ok