-2

我认为向用户展示 CI 文档似乎并不容易。
我花了很多时间来发现问题和问题。框架 php 应该很容易而且做得很快吧?这就是它们存在的原因?

这是我的代码:

$config['base_url'] = site_url('admin/index/page/');
$config['uri_segment'] = 4;

Mysql Sql 结果:

SELECT b.*, a.adCampaignTitle FROM ads a, sms b WHERE b.`smsAd_ID`=a.ad_ID LIMIT 4, 20

从 sql 输出中可以看出,uri_segment 就像一个整数值。而已。并且任何创建的分页页面,sql输出都是一样的!当我尝试时:

$offset = $this->uri->segment(4);

SQL 工作正常,但分页(创建链接)不能正常工作。第一页的链接在每个页码中都消失了(只是)。

*请发帖,如果您真的对此问题有所了解。我真的像 Anastacia 一样又病又累....

4

4 回答 4

4

这个问题是2岁。我有一个类似的问题,并用谷歌搜索到这个页面。看到了,还没有回答,以防万一有人遇到类似问题。您可以使用

$config['uri_segment'] = $this->uri->total_segments();

解决您的分页“链接”(Prev,1,2,3,4,Next)错误,如上所述,您的第一页分页将无法正常工作。

于 2014-12-19T12:41:16.290 回答
1

我不能确定这是您的问题,但我相信您还需要说明有多少行,以便分页正常工作。

所以添加:$config["total_rows"] = /*total number of records returned by the query, without the limit */看看是否有帮助。

另请阅读本文,了解有关如何正确设置的一些想法。

于 2012-06-02T23:45:54.327 回答
0

我正在使用 HMVC,但我在分页工作时遇到了同样的问题。但是我设法通过使用段 3 使用 HMVC 或仅使用 CI 中的 MVC 使其工作。当我使用段 4 时,它不起作用。我不知道为什么。这也是我的大问题,因为我真的需要使用 4 号段。我家这个 bug 可以在 CI 的下一个版本中解决。

于 2012-07-28T23:44:19.953 回答
0

HMVC 使用:segment diffrent 问题

链接:[域].com/admin/logs/log_list/10/1

解决了:

$config['uri_segment'] = 5;

完整代码:

public function data_count($sql){

    $query  = $this->db->query($sql);
    return $query->num_rows();

}

public function get_list($sql,$url,$show,$page){

    $list = array();
    $this->load->library('pagination');
    $this->load->helper('url');
    $total = $this->data_count($sql);

    $config = array(
        'base_url'          => $url,
        'total_rows'        => $total,
        'per_page'          => $show,
        'num_links'         => 5,
        'use_page_numbers'  => true,
        'page_query_string' => false,
        'uri_segment'       => 5,
        'full_tag_open'     => '<ul class="pagination pull-right">',
        'full_tag_close'    => '</ul>',
        'first_link'        => '<<',
        'first_tag_open'    => '<li>',
        'first_tag_close'   => '</li>',
        'last_link'         => '>>',
        'last_tag_open'     => '<li>',
        'last_tag_close'    => '</li>',
        'next_link'         => '>',
        'next_tag_open'     => '<li>',
        'next_tag_close'    => '</li>',
        'prev_link'         => '<',
        'prev_tag_open'     => '<li>',
        'prev_tag_close'    => '</li>',
        'cur_tag_open'      => '<li class="active"><a>',
        'cur_tag_close'     => '</a></li>',
        'num_tag_open'      => '<li>',
        'num_tag_close'     => '</li>'
    );


    $this->pagination->initialize($config);
    $pagination = $this->pagination->create_links();
    $list["pagination"] =$pagination;

    if(!empty($page)){ $start = ($page*$show)-$show; } else { $start = 0; } 

    $query  = $this->db->query($sql." limit ".$start." , ".$show);

    if($query->num_rows()>0){
        $list["list"] = $query->result_array();
    }
    else{
        $list["list"] = "";
    }

    $list["total"] = $total;

    return $list;

}
于 2015-07-21T22:01:07.097 回答