Php CodeIgniter分页:uri段
我认为向用户展示CI文档似乎并不容易。Php CodeIgniter分页:uri段,php,codeigniter,pagination,Php,Codeigniter,Pagination,我认为向用户展示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
我花了很多时间来寻找问题。框架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_段的行为就像一个整数值。没别的了。而创建的任何分页页面,sql输出都是相同的!
当我像这样尝试时:
$offset = $this->uri->segment(4);
SQL工作正常,但分页(创建链接)工作不正常。第一页的链接在每个页码中都消失了
*如果你真的了解这个问题,请发帖。我真的像Anastacia一样感到恶心和疲惫……我不能肯定这是你的问题,但我相信你也需要说出有多少行,以便分页正确工作 因此,添加:
$config[“total_rows”]=/*查询返回的记录总数,没有限制*/
,看看这是否有帮助
另外,请通读,了解一些关于如何正确设置的想法。我正在使用HMVC,我对分页工作也有同样的问题。但是我通过使用HMVC或者仅仅通过使用段3在CI中使用MVC,成功地实现了这一点。当我使用第4段时,它不起作用。我不知道为什么。这也是我的大问题,因为我真的需要使用段号4。我认为这个错误可以在下一版本的CI中解决 这个问题有两年历史了。我有一个类似的问题,谷歌搜索到这一页。看到这一点,它还没有得到回答,以防有人有类似的问题。你可以用
$config['uri_segment'] = $this->uri->total_segments();
要解决上面提到的分页“链接”(Prev、1、2、3、4、Next)错误,第一页分页无法正常工作。HMVC使用:段差异问题 链接:[domain].com/admin/logs/log\u 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;
}
公共函数数据计数($sql){
$query=$this->db->query($sql);
返回$query->num_rows();
}
公共函数get_list($sql、$url、$show、$page){
$list=array();
$this->load->library('pagination');
$this->load->helper('url');
$total=$this->data\u count($sql);
$config=array(
“基本url”=>$url,
“总计行数”=>$total,
“每页”=>$show,
'num_links'=>5,
“使用页码”=>true,
“页面查询字符串”=>false,
“uri_段”=>5,
“完全打开”=>”,
“完整标签关闭”=>“
”,
“第一链接”=>“>”,
“最后一次打开”=>“”,
“最后一次标记关闭”=>“ ”,
“下一个链接”=>“>”,
“下一个标签打开”=>“”,
“下一步标记关闭”=>“ ”,
“prev_link”=>“我不会使用淫秽的语言,但是WTF?你不会发布全部代码,并期望我推断出你到底想说什么?我可以通过蹩脚的英语,不管怎样,但看看责骂试图帮助你的人有多有效。实际上,90%的人向我索要无用的数据,而不阅读我写的东西。”你知道吗,当你试图帮助某人时,我至少打扰了你。因为我被这个分页问题困扰了好几天,找不到合适的解决方案。我说:$config['base_url']=site_url('admin/index/page/');$config['uri_segment']=4;我需要更恰当的英语来描述我的问题吗?如果你需要恰当的英语,去文学系或什么的……很明显,你来这里不是为了帮助别人。@onder:一句忠告。尊重那些试图帮助别人的人。你不会付钱给他们。@itachi,ppl,其目的是不帮助别人,在这里浪费时间(大部分90%的人)也应该尊重他人,真正需要帮助他人!所以尊重可以让双方都受益。