0

私の問題は、ページネーション リンクを押すと、URL CHANGE とセグメント配列も表示されることです。まず、次の URL から始めました。

site/argument/argument

ページネーション リンクを押すと、URL は次のように変わります。

site/method/startIndex.

URL クエリ インデックスを使用せずにページネーションを使用する方法はありますか?

編集:

URL から引数を受け取ったコントローラー メソッドは次のとおりです。

function index ($par1, $par2 = null, $par3 = null)
{       
    $data['records'] = $this->site_model->getRecords($par1, $par2, $par3);

    $this->load->view('main', $data);
}

これは、DB クエリを実行した Model メソッドです。

function getRecords($par1, $par2 = null, $par3 = null )
{
    if (!isset($par2) && !isset($par3)) {
        $where = "lvlOne = '".$par1."'";

    } elseif(isset($par2) && !isset($par3)) {
        $where = "lvlOne = '".$par1."' AND lvlTwo = '".$par2."'";

    } elseif(isset($par2) && isset($par3)) {
        $where = "lvlOne = '".$par1."' AND lvlTwo = '".$par2."' AND lvlThree = '".$par3."'";
    }

    $this->db->from('mph_products');
    $this->db->where($where);
    $query = $this->db->get();


    return $query->result();
}

この結果をページネーションするにはどうすればよいですか? ページネーション ライブラリの URL と競合しているため

編集:

やりたかったことを実現する方法を見つけました。ページネーション アンカーのサフィックスを配置するページネーション ライブラリの構成オプションがあり、それに引数を渡すことができます。

$config['suffix'] = "$arg1/$arg2/$arg3";

:D

4

2 に答える 2

0

このライブラリ codeigniter ページネーション + ブートストラップ デザイン

<?php

class Paginacao
{
public $CI;

function __construct() {
    $this->CI = &get_instance();
    $this->CI->load->library('pagination');

}

function criar($total_rows,$base_url,$per_page=15,$num_links=5)
{
    $paginacao['total_rows'] = $total_rows;

        $paginacao['base_url'] = site_url($base_url);
        $paginacao['per_page'] = $per_page;
        $paginacao['num_links'] = $num_links;

        $paginacao['full_tag_open'] = '<br /><div class="pagination pagination-centered"><ul>';
        $paginacao['full_tag_close'] = '</ul></div>';

        $paginacao['first_link'] = 'Primeira';
        $paginacao['first_tag_open'] = '<li>';
        $paginacao['first_tag_close'] = '<li>';

        $paginacao['last_link'] = 'Ultima';
        $paginacao['last_tag_open'] = '<li>';
        $paginacao['last_tag_close'] = '</li>';

        $paginacao['next_link'] = 'Próximo';
        $paginacao['next_tag_open'] = '<li>';
        $paginacao['next_tag_close'] = '</li>';

        $paginacao['prev_link'] = 'Anterior';
        $paginacao['prev_tag_open'] = '<li>';
        $paginacao['prev_tag_close'] = '</li>';        

        $paginacao['cur_tag_open'] = '<li class="active"><a href="#">';
        $paginacao['cur_tag_close'] = '</a></li>';

        $paginacao['num_tag_open'] = '<li>';
        $paginacao['num_tag_close'] = '</li>';

        $this->CI->pagination->initialize($paginacao);
        $html = $this->CI->pagination->create_links();

    return $html;
}

}

于 2013-08-13T18:07:49.950 に答える
0

私が理解しているように、URLにページ番号を表示したくないのですが、CI Pagination クラスは常にリンクに番号を追加します。詳細については、ページネーション クラスを参照してください。

また、クライアントまたはサーバーのページネーションにjquery datatableを使用できます。

于 2013-08-13T18:03:50.793 に答える