разбиение на страницы со следующей и предыдущей кнопками в codeigniter - PullRequest
0 голосов
/ 27 июня 2019

Я попытался добавить нумерацию страниц в CodeIgniter с кодом ниже, он поставляется с 1 2 3 4 5> в этом формате.Но мне нужно добавить следующую и предыдущую кнопку.Контроллер:

public function chooseBale($program_id = '')
{
    $config                = [];
    $config["base_url"]    = base_url() . "ginner/choosebale/" . $program_id;
    $config["total_rows"]  = $this->GinnerModel->get_count();
    $config["per_page"]    = 10;
    $config["uri_segment"] = 2;
    $choice                = $config["total_rows"] / $config["per_page"];
    $config["num_links"]   = round($choice);
    $this->pagination->initialize($config);
    $page          = ($this->uri->segment(4)) ? $this->uri->segment(4) : 0;
    $data["links"] = $this->pagination->create_links();

    $data['pg_title']   = 'Choose Bale';
    $data['breadcrumb'] = ['Home' => '', 'Sale' => 'nolink', 'New Process' => 'nolink', 'Choose Bale' => 'nolink'];
    $data['left_menu']  = "left-menu-ginner.php";
    $data['program']    = $this->CommonModel->getTableWhere(PROGRAM, 'id =' . $program_id);
    $data['program_id'] = $program_id;
    $data['bale_list']  = $this->GinnerModel->baleList($program_id, $config["per_page"], $page);
    $this->load->view('common/header', $data);
    $this->load->view('ginner/choose-bale');
    $this->load->view('common/footer');
}

Я использовал приведенный ниже запрос в файле модели для получения записей с ограничением.Модель:

public function baleList($program_id, $per_page, $page)
{
    $this->db->select('gp.id, gp.lot_no, SUM(gb.weight) AS weight, SUM(gb.staple) AS staple, SUM(gb.mic) AS mic, SUM(gb.strength) AS strength, SUM(gb.trash) AS trash, gb.color_grade');
    $this->db->from(GIN_BALES . ' gb');
    $this->db->join(GIN_PROCESS . ' gp', 'gp.id=gb.process_id');
    $this->db->where('gb.sold_status', 0);
    $this->db->where('gp.ginner_id', $this->prscr_id);
    $this->db->where('gp.program', $program_id);
    $this->db->group_by('gp.id');
    $this->db->limit($per_page, $page);
    $lot_details = $this->db->get()->result();
    $lot_details = array_column($lot_details, null, "id");
    $prs_id      = "'" . implode("','", array_keys($lot_details)) . "'";
    $bales_list  = [];
    $n           = 0;
    $this->db->select('id,process_id,press_no,weight,staple,mic,strength,trash,color_grade');
    $this->db->from(GIN_BALES);
    $this->db->where('sold_status', 0);
    $this->db->where("process_id IN (" . $prs_id . ")", null, false);
    $bales = $this->db->get()->result();
    foreach ($bales as $value) {
        if (array_key_exists($value->process_id, $lot_details)) {
            $lot_details[$value->process_id]->bales[] = $value;
        }
        $lot_details[$n]->bales = $bales;
        $n++;
    }
    return $lot_details;
}

Вид:

<p><?php echo $links; ?></p>

Я добавил этот код ссылки под таблицей в коде страницы просмотра.Разбиение на страницы работает до 5 разделов, после чего стрелка попадает на первую страницу. Поэтому я не могу просмотреть 6-ю страницу разбиения на страницы.Нужно ли вносить какие-либо другие исправления в файл контроллера или модели для правильного отображения нумерации страниц?

Ответы [ 2 ]

0 голосов
/ 28 июня 2019

Проверьте официальный документ нумерации страниц: https://www.codeigniter.com/user_guide/libraries/pagination.html#customizing-the-previous-link Вот образец.

        $config['base_url'] = base_url() . 'paging/custom';
        $config['total_rows'] = $total_records;
        $config['per_page'] = $limit_per_page;
        $config["uri_segment"] = 3;

        // custom paging configuration
        $config['num_links'] = 2;
        $config['use_page_numbers'] = TRUE;
        $config['reuse_query_string'] = TRUE;

        $config['full_tag_open'] = '<div class="pagination">';
        $config['full_tag_close'] = '</div>';

        $config['first_link'] = 'First Page';
        $config['first_tag_open'] = '<span class="firstlink">';
        $config['first_tag_close'] = '</span>';

        $config['last_link'] = 'Last Page';
        $config['last_tag_open'] = '<span class="lastlink">';
        $config['last_tag_close'] = '</span>';

        $config['next_link'] = 'Next Page';
        $config['next_tag_open'] = '<span class="nextlink">';
        $config['next_tag_close'] = '</span>';

        $config['prev_link'] = 'Prev Page';
        $config['prev_tag_open'] = '<span class="prevlink">';
        $config['prev_tag_close'] = '</span>';

        $config['cur_tag_open'] = '<span class="curlink">';
        $config['cur_tag_close'] = '</span>';

        $config['num_tag_open'] = '<span class="numlink">';
        $config['num_tag_close'] = '</span>';

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

        // build paging links
        $params["links"] = $this->pagination->create_links();     
0 голосов
/ 27 июня 2019

См. Ниже код,

мы настраиваем нумерацию ссылок через библиотеку конфигурации

    $this->load->library("pagination");
    $config = array();
    $config["base_url"] = base_url() . "blogs";
    $config["total_rows"] = $this->blog->getBlogCount();
    $config["per_page"] = 10;
    $config["uri_segment"] = 2;
    $config['full_tag_open'] = "<ul class='pagination'>";
    $config['full_tag_close'] = '</ul>';
    $config['num_tag_open'] = '<li>';
    $config['num_tag_close'] = '</li>';
    $config['cur_tag_open'] = '<li class="active"><a href="#">';
    $config['cur_tag_close'] = '</a></li>';
    $config['prev_tag_open'] = '<li>';
    $config['prev_tag_close'] = '</li>';
    $config['first_tag_open'] = '<li>';
    $config['first_tag_close'] = '</li>';
    $config['last_tag_open'] = '<li>';
    $config['last_tag_close'] = '</li>';

    $config['prev_link'] = 'Previous';
    $config['prev_tag_open'] = '<li>';
    $config['prev_tag_close'] = '</li>';

    $config['next_link'] = 'Next';
    $config['next_tag_open'] = '<li>';
    $config['next_tag_close'] = '</li>';

    $this->pagination->initialize($config);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...