0

1時間試してみてくださいが、機能しません。URLの/welcome/ index/1または2または3を手動で切り替えることができます。いまいましいページネーション<123 4>が表示されない!

私のコントローラー

        $offset = $this->uri->segment(3,0);

    $query = $this->db->query(
        'SELECT p.id AS pid,
                p.url, 
                p.created_time,
                t.name,
                t.num_photo,
                t.id AS tid
        FROM photos p
        LEFT JOIN tag_maps AS tm ON p.id = tm.photo_id
        LEFT JOIN tags AS t ON t.id = tm.tag_id
        INNER JOIN
        (
            SELECT MAX(created_time) maxDate, t.id
            FROM photos p
            LEFT JOIN tag_maps AS tm ON p.id = tm.photo_id
            LEFT JOIN tags AS t ON t.id = tm.tag_id
            GROUP BY t.id
        ) AS d
        ON p.created_time = d.maxDate
        AND t.id = d.id
        ORDER BY p.created_time LIMIT ' . $offset . ',2'
    );
    $config['base_url'] = 'http://localhost:8080/example/welcome/index';
    $config['total_rows'] = $query->num_rows();
    $config['per_page'] = 2;
    $config['num_links'] = 20;

それから私のhtmlで

<?php echo $this->pagination->create_links(); ?>
4

1 に答える 1

1

問題はこれにあります

$config['total_rows'] = $query->num_rows();

$query->num_rows();これは常に 2 行を返すため、 は使用できません。
実際のクエリの合計行を取得するには、別のクエリが
必要です。SELECT COUNT(*)

于 2013-01-24T05:53:45.180 に答える