使用 codeigniter 分页在最终 URL 中插入 #anchor
Insert #anchor in final URL with codeigniter pagination
我在 codeigniter 中的分页有一个问题。
我的分页在一个 #section
中,当我更改分页时,页面在页眉中重新加载,我需要在最终 URL.
中添加 #anchor
此刻我的url是:
我需要这个:
这是我的控制器:
$urlPaginacao = site_url();
//PAGINAÇÃO *****
$get_total_results = $this->admin_model->mostrarAgenda();
$totalResultados = $get_total_results['total'];
$getPaginacao = $this->paginacao($urlPaginacao,$totalResultados, 3);
$getEventos = $this->admin_model->mostrarAgenda($getPaginacao['inicio'], $getPaginacao['quantidadeResultados']);
$data['district'] = $this->admin_model->mostrarDistrict();
$data['local'] = $this->admin_model->mostrarLocal();
$data['life'] = $this->admin_model->mostrarLife();
$data['useful'] = $this->admin_model->mostrarUseful();
$data['agenda'] = $getEventos['dadosGerais']; //dados gerais do model
$data['pag'] = $getPaginacao['paginacao'];
$this->load->view('index', $data);
}
public function paginacao($urlPaginacao, $totalResultados, $resultadosPorPagina = 3){
$config['base_url'] = $urlPaginacao;
$config['total_rows'] = $totalResultados;
$config['per_page'] = $resultadosPorPagina;
$config['page_query_string'] = TRUE;
$config['full_tag_open'] = "<ul class='pagination pagination-sm'>";
$config['full_tag_close'] ="</ul>";
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$config['cur_tag_open'] = "<li class='active disable'><a>";
$config['cur_tag_close'] = "</a></li>";
$config['next_tag_open'] = "<li>";
$config['next_tagl_close'] = "</li>";
$config['prev_tag_open'] = "<li>";
$config['prev_tagl_close'] = "</li>";
$config['first_tag_open'] = "<li>";
$config['first_tagl_close'] = "</li>";
$config['last_tag_open'] = "<li>";
$config['last_tagl_close'] = "</li>";
$config['first_link'] = TRUE;
$config['last_link'] = TRUE;
$quantidade = $resultadosPorPagina;
$this->pagination->initialize($config);
$data['quantidadeResultados'] = $quantidade;
$data['inicio'] = $this->input->get('per_page') != NULL ? $this->input->get('per_page') : '0';
$data['paginacao'] = $this->pagination->create_links();
return $data;
}
这是我的模特:
public function mostrarAgenda($inicio=NULL, $quantidade=NULL){
$inicio = $inicio != NULL ? "LIMIT {$inicio},{$quantidade}" : "";
$sqlGeral = "SELECT * FROM tblagenda {$inicio}";
$queryGeral = $this->db->query($sqlGeral);
$data['inicio'] = $inicio;
$data['total'] = $queryGeral->num_rows();
$data['dadosGerais'] = $queryGeral->result();
return $data;
}
解决方案是在我的控制器内部函数 pagination()
中添加以下代码:
$config['suffix'] = '#agenda';
希望这对以后的人有所帮助。
我在 codeigniter 中的分页有一个问题。
我的分页在一个 #section
中,当我更改分页时,页面在页眉中重新加载,我需要在最终 URL.
#anchor
此刻我的url是:
我需要这个:
这是我的控制器:
$urlPaginacao = site_url();
//PAGINAÇÃO *****
$get_total_results = $this->admin_model->mostrarAgenda();
$totalResultados = $get_total_results['total'];
$getPaginacao = $this->paginacao($urlPaginacao,$totalResultados, 3);
$getEventos = $this->admin_model->mostrarAgenda($getPaginacao['inicio'], $getPaginacao['quantidadeResultados']);
$data['district'] = $this->admin_model->mostrarDistrict();
$data['local'] = $this->admin_model->mostrarLocal();
$data['life'] = $this->admin_model->mostrarLife();
$data['useful'] = $this->admin_model->mostrarUseful();
$data['agenda'] = $getEventos['dadosGerais']; //dados gerais do model
$data['pag'] = $getPaginacao['paginacao'];
$this->load->view('index', $data);
}
public function paginacao($urlPaginacao, $totalResultados, $resultadosPorPagina = 3){
$config['base_url'] = $urlPaginacao;
$config['total_rows'] = $totalResultados;
$config['per_page'] = $resultadosPorPagina;
$config['page_query_string'] = TRUE;
$config['full_tag_open'] = "<ul class='pagination pagination-sm'>";
$config['full_tag_close'] ="</ul>";
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$config['cur_tag_open'] = "<li class='active disable'><a>";
$config['cur_tag_close'] = "</a></li>";
$config['next_tag_open'] = "<li>";
$config['next_tagl_close'] = "</li>";
$config['prev_tag_open'] = "<li>";
$config['prev_tagl_close'] = "</li>";
$config['first_tag_open'] = "<li>";
$config['first_tagl_close'] = "</li>";
$config['last_tag_open'] = "<li>";
$config['last_tagl_close'] = "</li>";
$config['first_link'] = TRUE;
$config['last_link'] = TRUE;
$quantidade = $resultadosPorPagina;
$this->pagination->initialize($config);
$data['quantidadeResultados'] = $quantidade;
$data['inicio'] = $this->input->get('per_page') != NULL ? $this->input->get('per_page') : '0';
$data['paginacao'] = $this->pagination->create_links();
return $data;
}
这是我的模特:
public function mostrarAgenda($inicio=NULL, $quantidade=NULL){
$inicio = $inicio != NULL ? "LIMIT {$inicio},{$quantidade}" : "";
$sqlGeral = "SELECT * FROM tblagenda {$inicio}";
$queryGeral = $this->db->query($sqlGeral);
$data['inicio'] = $inicio;
$data['total'] = $queryGeral->num_rows();
$data['dadosGerais'] = $queryGeral->result();
return $data;
}
解决方案是在我的控制器内部函数 pagination()
中添加以下代码:
$config['suffix'] = '#agenda';
希望这对以后的人有所帮助。