5

わかりました。例の指示に完全に従いました。最終的に、ページネーションは機能します。

リストされているすべてのページを取得します:1 | 2 | > | 最後。等。

最初のものは、本来あるべきようにアクティブです。各リンクが正しいクエリになるため、クエリも正しく実行しました。

ただし、2番をクリックすると、次の製品セットが正しく表示されますが、最初のページからのページ番号が表示されます。

どのページ付けボタンをクリックしても、メインのページ付けセットが返されます:1(選択済み)| 2 | > | 最後。それは決して変わらない!私は忍耐力を失っています、誰かが助けることができますか?

4

3 に答える 3

10

私は何が起こっているのか知っているかもしれないと思います。URLのどのセグメントがオフセットを保持しているかをページネーションライブラリに通知する必要があります。

たとえば、URLが/ products / browser / all / 20の場合、4番目のセグメントがオフセットを保持していることをCodeIgniterに伝える必要があります

$config['uri_segment'] = 4;

ライブラリのデフォルトはURLセグメント#3です。URLのオフセットが位置3になく、ページネーションライブラリにこれを伝えるのを忘れた場合、間違ったセグメントがオフセットであると解釈されます。これは、ページネーションが変化していないように見える、上記で説明した種類の動作につながる可能性があります。

于 2010-03-31T22:33:00.860 に答える
1

私も同じエラーに遭遇し、最終的にそれを修正することができました。コードスクリプトを共有しようと思っただけで、誰かがそれを使用できるようになるかもしれません。

=====>コントローラー

// Default function
function index()
{   
    // Display listing      
    $this->listing();           
}

function listing($argDataArr = array()) 
{   

    // Initialize pagination
    $pageArr['base_url']    = $this->config->item('categoryBeAction')."/listing";
    $pageArr['total_rows']  = 15; //assume
    $pageArr['per_page']    = 5; //assume
    //You need to tell the pagination library which segment of the URL holds the offset.        
    $pageArr['uri_segment']  = 4; //URL eg: http://localhost/myproject/index.php/backend/category/listing/5 
    $this->pagination->initialize($pageArr); 

    // Get list of categories
    // Create data array and pass data to get function
    $dataArr['limitRows']    = $pageArr['per_page'];
    $dataArr['limitOffset']  = $this->uri->segment(4); //the dynamic value from this segment will be used as offSet
    $viewArr['listArr'] = $this->category_model->get($dataArr);

    //rest of the code...

}   

======>モデル

function get($argDataArr = array())
{   

    //Select the fields required
    $this->db->select('id, name, parent_id, status');
    $this->db->from($this->config->item('tbl_category','dbtables'));

    $this->db->where('parent_id', $parentId);   
    $this->db->limit($argDataArr['limitRows'], $argDataArr['limitOffset']); 
    $this->db->order_by("name", "asc");
        $query_result = $this->db->get(); 

    return  $query_result;
}

======>ページを表示

            <!--  Pagination -->                    
            <tr> 
            <td align="right">
                <?php  echo $this->pagination->create_links(); ?>                           
            </td> 
            </tr>
于 2011-12-22T15:06:00.120 に答える
0

どの例ですか?

echo $this->pagination->create_links();

^^これはあなたの見解ですか?

于 2010-03-31T14:24:44.230 に答える