CI框架分页 传递多个参数如何解决

2024年11月15日 21:30
有2个网友回答
网友(1):

// 获取控制器
define('MODULE_NAME', $this->uri->rsegment(1));
// 获取方法名
define('ACTION_NAME', $this->uri->rsegment(2));
// url是常规形式, $parameter是手动传的参数
$config = get_config();
if ($config['enable_query_strings']) {
$parameter = empty($parameter) ? $_GET : $parameter;
unset($parameter[MODULE_NAME.'/'.ACTION_NAME]);
unset($parameter["per_page"]);
$param = http_build_query($parameter);
$url = site_url(MODULE_NAME.'/'.ACTION_NAME.'&'.$param);
} else {
//pathinfo模式
$parameter = empty($parameter) ? $_GET : $parameter;
$parameter = array_merge($parameter, $this->uri->uri_to_assoc(3));
$param = '';
foreach ($parameter as $key=>$val) {
if ($val === FALSE) {
unset($parameter[$key]);
continue;
}
$param .= $key.'/'.$val.'/';
}
$url = site_url(MODULE_NAME.'/'.ACTION_NAME.'/'.$param);
// 指定包含分页数的uri位置
$page_conf['uri_segment'] = (count($parameter) * 2) + 3;
}

网友(2):

今天刚解决一个类似的搜索,可以对get参数的中文部分进行二次加密就可以放到url段里,不用?&那种了