0

ページにページネーションを配置したいのですが、リンク 2、3、4 などで機能します。しかし、最初と 1 をクリックするたびに、ページにアクセス禁止が表示されます。最初と 1 が提供するリンクは「palmydentist/admin/dentist/index/」です。問題は /index/ だと思いますが、修正方法がわかりません。たとえば、「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

URL 構造に常に a があると仮定する関数に引数$uri_segment="4"を与えます(1 の場合はありません)。さらに、コードの下でその引数を使用しません。あなたはただ行くことができます:index$uri_segment

public function index()
于 2013-10-09T10:55:06.463 に答える
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 に答える