【问题标题】:Getting the same data on pagination in Codeigniter在 Codeigniter 中获取相同的分页数据
【发布时间】:2019-04-13 10:14:06
【问题描述】:

当我使用以下代码在 CodeIgniter 中单击下一个分页按钮时,我得到了相同的数据

public function view($slug){
    $data['title']=  $slug;
    $data['description']= "None";
    $postdatacount = $this->Constant_model->snippettagscount($slug);
    $checktags= $this->Constant_model->gettags($slug);

   if($checktags>0){

    if ($postdatacount>0) {

        $config = array();
    $config["base_url"] = base_url() ."tags/".$slug;
    $config["total_rows"] = $postdatacount;
    $config["per_page"] = 6;
    $config["uri_segment"] = 2;

    $config['full_tag_open'] = '<ul class="pagination">';
    $config['full_tag_close'] = '</ul>';
    $config['first_link'] = false;
    $config['last_link'] = false;
    $config['first_tag_open'] = '<li>';
    $config['first_tag_close'] = '</li>';
    $config['prev_link'] = '&laquo';
    $config['prev_tag_open'] = '<li class="prev">';
    $config['prev_tag_close'] = '</li>';
    $config['next_link'] = '&raquo';
    $config['next_tag_open'] = '<li>';
    $config['next_tag_close'] = '</li>';
    $config['last_tag_open'] = '<li>';
    $config['last_tag_close'] = '</li>';
    $config['cur_tag_open'] = '<li class="active"><a href="#">';
    $config['cur_tag_close'] = '</a></li>';
    $config['num_tag_open'] = '<li>';
    $config['num_tag_close'] = '</li>';

    $this->pagination->initialize($config);

    $page = ($this->uri->segment(2)) ? $this->uri->segment(2) : 0;

    $data["links"] = $this->pagination->create_links();
    $data["title"] = "All Tags";
    $data["description"] = "All Tags";


    $data['snippets_tags'] = $this->Constant_model->get_tags($config["per_page"],$page,$slug);

    $this->snippetfunctions->add_count('tags','tag_name',$slug);

        $this->load->view('view_tag_snippets', $data);
    }else {

        $data["title"] = "No Snippet Found for this Tag";
        $data["description"] = "No Snippet Found for this Tag";
        $data["slug"] =$slug;



        $this->load->view('error_tags',$data);
    }


   }else{

    $this->load->view('404',$data);

   }

}

在此函数上创建的主 URL 是

http://127.0.0.1/Mytredin_codesup/tags/user-interface

当我单击下一步按钮时,会创建 URL 但不加载下一个数据,而是加载相同的数据,并且在每个下一页上都会发生同样的事情。

http://127.0.0.1/Mytredin_codesup/tags/user-interface/1

我使用的路线是

$route['tags/(:any)/(:num)'] = 'tags/view/$1/$2';
$route['tags/(:any)'] = 'tags/view/$1';

【问题讨论】:

  • $config["uri_segment"] = 2; 应该是$config["uri_segment"] =3; 对吧?见codeigniter.com/userguide3/libraries/…
  • 非常感谢,我通过 $config["uri_segment"] = 3; 解决了这个问题和 $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
  • 给出答案我会接受...

标签: codeigniter routes codeigniter-3


【解决方案1】:

问题在于配置$config["uri_segment"] = 2;,根据您的路由,页面变量位于段 3。

使用$config["uri_segment"] = 3; 而不是$config["uri_segment"] = 2;。还要改行$page = ($this-&gt;uri-&gt;segment(3)) ? $this-&gt;uri-&gt;segment(3) : 0;

更多详情read

【讨论】:

    猜你喜欢
    • 2018-06-04
    • 1970-01-01
    • 2017-11-10
    • 2020-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-10
    • 2011-07-20
    相关资源
    最近更新 更多