1

私はcodeigniterのページネーションクラスを使用しています:

これをコントローラーに入れます:

$config['base_url'] = 'http://localhost/project/index.php/municipio/';
$config['total_rows'] = count($this->data['municipios']); 
$config['per_page'] = 2; 
$config['uri_segment'] = 2;
$config['first_link'] = false ;
$config['last_link'] = false ;
$config['prev_link'] = false;
$config['next_link'] = false;
$this->pagination->initialize($config); 

これは、モデル関数を呼び出して de DB 行を取得する方法です。

$this->data['municipios'] =  $this->Municipio_model->obtenerMunicipiosPaginacion($pagina,$config['per_page']);

これは私がモデルに持っているものです:

function obtenerMunicipiosPaginacion( $pagina , $registros_por_pagina )
{

    $limite_inferior = ($pagina * $registros_por_pagina) - $registros_por_pagina;
    $limite_superior = $registros_por_pagina;
    $query = 'SELECT m FROM Entities\Municipio m ORDER BY m.nombre ASC';
    $create_query = $this->doctrine->em->createQuery($query)->setFirstResult($limite_inferior)->setMaxResults($limite_superior);
    $variable = $create_query->getResult();
    return $variable;
}

ビューでは、クラスは次のようなリンクを出力していますが、これは問題ありません。

1 2 3

1 つのリンクは完全に機能し、ページ municipios/1 に移動します

2 リンクは完全に機能し、ページ municipios/2 に移動します

3 リンクでページ municipios/6 に移動します

問題はDBクエリにあるのではなく、ページネーションクラスの構成に違いないと確信しています。

この質問をよく見ましたが、問題を解決する答えが見つかりませんでした。

編集:

今はうまくいくようです。次の行を追加しました。

$config['use_page_numbers'] = TRUE;
4

1 に答える 1

1

編集:

今はうまくいくようです。次の行を追加しました。

$config['use_page_numbers'] = TRUE;
于 2013-01-22T16:04:49.000 に答える