0

我想在我的页面上放置分页,它适用于链接 2、3、4 等等。但是每次我点击第一个和 1 时,页面都会显示我禁止访问,第一个和 1 给我的链接是“palmydentist/admin/dentist/index/”。我认为问题是 /index/ 但我不知道如何解决它。如果我单击其他链接,例如 2“palmydentist/admin/dentist/index/2/”,它不会给我任何错误。

这是我在控制器中的代码

class dentist_list extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();

        $this->load->library('session');
        $this->load->database();
        $this->load->model('Admin_model', 'Admin');
        $this->load->library("pagination");

    }

    public function index($uri_segment="4")
    {
        if($this->session->userdata('admin_id'))
        {
            $data = array();
            $config = array();

            $config['base_url'] = base_url() . "admin/dentist_list/index/";
            $config['total_rows'] = $this->Admin->record_count();
            $config['per_page'] = 10;
            $config['uri_segment'] = 4;
            $config['use_page_numbers'] = TRUE;

            $this->pagination->initialize($config);

            $page = ($this->uri->segment(3)) ? $this->uri->segment(4) : 0;

            $data["patient"] = $this->Admin->dentist_list($config["per_page"], $page);
            $data["links"] = $this->pagination->create_links();

            $data['table_data'] = $data['patient']['td'];

            $data['footer'] = $this->load->view('dentist_dashboard/footer','', true);
            $this->load->view('admin/dentist_list', $data);
        }
        else
        {
            header('Location: ' . base_url() . 'admin');
        }
    }
}

不要介意模型...

4

3 回答 3

0

改变这个:

$config['base_url'] = base_url() . "admin/dentist_list/index/";

至,

$config['base_url'] = base_url() . "dentist_list/index/";
$config['uri_segment'] = 3;
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
于 2013-10-09T09:49:58.337 回答
0

这句话看起来很少见。。

$page = ($this->uri->segment(3)) ? $this->uri->segment(4) : 0;
  • 当您访问 'admin/dentist_list/index/' 时,第 3 段是 'index' 所以 $page = '' (可能会失败)
  • 当您访问“admin/dentist_list/”时,第 3 段为空,因此 $page = 0;

那么为什么不只检查第 4 段呢?

$page = ($this->uri->segment(4)) ? $this->uri->segment(4) : 1; // I don't know how you paginate the query in you model but the first page is 1

顺便说一下, $uri_segment 参数似乎已经过时了。

PD:我是阿根廷人,我的英语水平有点差..

于 2013-10-18T05:12:02.963 回答
0

你给函数一个参数$uri_segment="4"index假设你的 url 结构总是有一个$uri_segment(在 1 的情况下没有),而且你不要在代码的后面使用这个参数。你可以去:

public function index()
于 2013-10-09T10:55:06.463 回答