【问题标题】:pagination in codeigniter and passing values to a controller function but pagination not workingcodeigniter中的分页并将值传递给控制器​​函数但分页不起作用
【发布时间】:2014-01-23 13:05:36
【问题描述】:

控制器文件:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Departments extends CI_Controller {

    function __construct()
    {
        parent:: __construct();
        $this->load->model('login_model','',TRUE);
        $this->load->model('pariskarmodel','',TRUE);


    }

    public function index($id)
    {


            $this->load->library("pagination");
            $config = array();
            $config["base_url"] = base_url() . "departments/index";
            $config["total_rows"] = $this->pariskarmodel->mng_departments_count_check($id);
            $config["per_page"] = 3;
            $config["uri_segment"] = 3;
            $this->pagination->initialize($config);
            $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
            $data['news_data']=$this->pariskarmodel->mng_departments_check($config["per_page"],$page,$id);
            $data["links"] = $this->pagination->create_links();
            $this->load->view('departments',$data);
    }

}

 ?>

查看页面:

<u>
 <li><a href="<?php echo base_url();?>departments">Departments</a></li>
<li ><a href="<?php echo base_url();?>departments/index/1">Film</a></li>
<li><a href="<?php echo base_url();?>departments/index/2">TV</a></li>
<li><a href="<?php echo base_url();?>departments/index/3">Game</a></li>
<li><a href="<?php echo base_url();?>departments/index/4">Commercials</a></li>
<li><a href="<?php echo base_url();?>departments/index/5">Events & Awards</a></li>
             .
             .
             .
<li><a href="<?php echo base_url();?>departments/index/15">Events & Awards</a></li>
</ul>

模型页面:

function mng_departments_check($limit,$start,$id)
        {

        echo $sql="select * from tbl_departments where category='$id'  order by id DESC  limit $start,$limit";

            $query=$this->db->query($sql);
            return $query->result();
        }
        function mng_departments_count_check($id)
        {
            $sql="SELECT * FROM tbl_departments where category='$id' order by id DESC";
            $query=$this->db->query($sql);
            return $query->num_rows();
        }

结果是:当我单击链接一个(文件)时,sql 查询是:

select * from tbl_departments where category='1' order by id DESC limit 1,3

点击链接二(文件)sql查询是:

select * from tbl_departments where category='2' order by id DESC limit 2,3 

如果我点击链接 15 sql 查询是:

select * from tbl_departments where category='15' order by id DESC limit 15,3 

我不知道为什么 category(category='15') 在 sql 中发生变化并且分页也不起作用。我也放了 $this->uri->segment(4) 但不起作用。

【问题讨论】:

  • 类别ID是否正确传递? limit 15,3 中的问题?对吗?
  • yes kumar,我的问题是传递 id 和 uri_segment。我通过在 $config["base_url"] = base_url() 中添加 id 来解决我的答案。 “部门/索引/”.$id;和 $config["uri_segment"] = 4;
  • +1 好的。但迟到的回复:-)

标签: codeigniter


【解决方案1】:

尝试:

$config["base_url"] = base_url() . "departments/index/".$id;

如果有帮助 请将其标记为答案..

【讨论】:

  • 请您简单解释一下
  • 你的索引函数需要$id每次你调用索引函数..所以你的base_url()也需要在最后有$id,这样你的函数就会得到$id每次打电话..
  • 实际上不需要分页,因为您在视图中的a.href 中指定了$id,因此请删除分页..如果实际上不需要...或用更多内容解释您的逻辑详细信息..您实际上想用这段代码做什么
  • 感谢 muhammad 先生,我得到了结果
  • 如果真的有帮助,请将其标记为答案,以便其他人可以从中获得帮助
猜你喜欢
  • 1970-01-01
  • 2016-11-23
  • 2015-04-04
  • 2017-01-18
  • 2011-02-14
  • 2012-09-30
  • 2021-06-14
  • 2014-01-13
相关资源
最近更新 更多