0

stackoverflowに関する非常に多くのページネーションの質問がありますが、codeigniterでそれを見ることができないので、ここに行きます。

これらの写真を見る必要があります ここに画像の説明を入力してください

そしてここ

ここに画像の説明を入力してください

そしてここ

ここに画像の説明を入力してください

テーブルに10個のレコードがあり、リンクが機能していません。これがcontroller/index

$query = $this->m_kategorimaterial->get();  
    $config['base_url'] =  base_url().'index.php/c_kategorimaterial/index/';
    $config['total_rows'] = $query->num_rows();
    $config['per_page'] = 5; 
    $this->pagination->initialize($config);
    $data['rows'] = $query->result();
    $data['title'] = 'QB Kategori Material';
    $this->load->view('menu',$data);
    $this->load->view('v/vkategorimaterial');

これがモデルです

 $this->db->order_by('Kode_Kategori_Material_Jasa','DESC');
    $query = $this->db->get('ms_kategori_material');
    return $query;

リンクが機能しないのはなぜですか?どうすれば解決できますか?スタックオーバーフローありがとうございます

4

2 に答える 2

1

設定してみてください

$config['uri_segment'] = 3;

必要な完全な情報は次のとおりです> http://codeigniter.com/user_guide/libraries/pagination.html

于 2012-10-25T12:17:51.063 に答える
1

データ収集クエリのオフセットをどこで呼び出していますか?取得するレコードがわかるように、クエリにオフセットを指定する必要があります。

また、total_rowsを2番目のクエリに変更して、テーブル全体で合計レコードをクエリする必要があります。これは、新しいクエリでは1ページに十分なレコードしか返されないためです。

モデル:

$this->db->order_by('Kode_Kategori_Material_Jasa','DESC');
$query = $this->db->get('ms_kategori_material', $limit, $offset);
return $query;

function getRecordCount() {

$query=$this->db->get('ms_kategori_material');
$result = $query->num_rows();
return $result;
}

コントローラ:

$config['base_url'] =  base_url().'index.php/c_kategorimaterial/index/';
$config['total_rows'] = $query->num_rows();
$config['per_page'] = 5; 
$this->pagination->initialize($config);
$query = $this->m_kategorimaterial->get($config['per_page'],$this->uri->segment(3));
$data['rows'] = $this->m_kategorimaterial->getRecordCount();
$data['title'] = 'QB Kategori Material';
$this->load->view('menu',$data);
$this->load->view('v/vkategorimaterial');

ここで何が起こっているのかについての簡単な説明を使用できるようです。ページ付けを行うには、CI(または任意のアプリケーション)に少なくとも3つの変数が必要です。

制限-ページごとに表示するレコードの数、およびその結果、クエリが返すレコードの数。

offset-クエリはどこでレコードの要求を開始しますか。CIでは、これがuriセグメントの出番であり、制限によって部分的に制御されるため、制限(per_page)として8がある場合、各クエリはオフセットを8ずつ増やします。最初から始まる最初の8レコード、2ページ目はレコード9から始まる最初の8レコードなどをデータベースに照会します。

合計レコード-これは、テーブル全体のクエリに一致するレコードの合計です。これは、アプリケーションが合計で何ページあるか、および2番目のページがまったく必要かどうかを判断する方法です。部分的な戻りではなく、一致するすべてのレコードが必要なため、このクエリには制限やオフセットはありません。

データの実際のページ付けは、データベースクエリによって実行されます。CIは、必要なレコードをデータベースに通知するだけです。

それが物事を片付けるのに役立つことを願っています。

于 2012-10-25T12:36:03.470 に答える