【问题标题】:codeigniter cant call function $configcodeigniter 无法调用函数 $config
【发布时间】:2018-04-22 15:46:00
【问题描述】:

我想调用分页函数,这样我就不会厌倦重写我创建的分页代码。在这个问题上,当我调用函数时,它的函数没有按照我想要的方式运行。 分页功能不显示。

这是我的代码:

功能分页:

public function pagination(){

$config['full_tag_open'] = "<ul class='pagination'>";
$config['full_tag_close'] = '</ul>';
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li class="active"><a href="#">';
$config['cur_tag_close'] = '</a></li>';
$config['prev_tag_open'] = '<li>';
$config['prev_tag_close'] = '</li>';
$config['first_tag_open'] = '<li>';
$config['first_tag_close'] = '</li>';
$config['last_tag_open'] = '<li>';
$config['last_tag_close'] = '</li>';
$config['prev_link'] = '<i class="fa fa-long-arrow-left"></i>Previous Page';
$config['prev_tag_open'] = '<li>';
$config['prev_tag_close'] = '</li>';
$config['next_link'] = 'Next Page<i class="fa fa-long-arrow-right"></i>';
$config['next_tag_open'] = '<li>';
$config['next_tag_close'] = '</li>';

}

这是我想要显示分页功能的代码:

public function dataRule(){
    if (!empty($this->session->userdata('username'))) {

        $row=$this->TabelRule_model->barisRule();
        $this->load->library('form_validation');
        $config['base_url'] = 'http://localhost/diagnosaKucing/tabelrule';
        $config['total_rows'] = $row;
        $config['per_page'] = 8;
        $this->pagination();
        $start=$this->uri->segment(2);
        $this->pagination->initialize($config);
        $data['rows'] =$row;
        $data['tabelrule'] = $this->TabelRule_model->tampilTabelRule($config['per_page'],$start);
        $this->load->view('pages/static/header');
        $this->load->view('pages/forms/tabelrule',$data);
        $this->load->view('pages/static/footer');
    }else {
        redirect('Login/signin');
    }

}

我不想要这样的代码:

public function dataRule(){
    if (!empty($this->session->userdata('username'))) {

        $row=$this->TabelRule_model->barisRule();
        $this->load->library('form_validation');
        $config['base_url'] = 'http://localhost/diagnosaKucing/tabelrule';
        $config['total_rows'] = $row;
        $config['per_page'] = 8;
        $config['full_tag_open'] = "<ul class='pagination'>";
    $config['full_tag_close'] = '</ul>';
    $config['num_tag_open'] = '<li>';
    $config['num_tag_close'] = '</li>';
    $config['cur_tag_open'] = '<li class="active"><a href="#">';
    $config['cur_tag_close'] = '</a></li>';
    $config['prev_tag_open'] = '<li>';
    $config['prev_tag_close'] = '</li>';
    $config['first_tag_open'] = '<li>';
    $config['first_tag_close'] = '</li>';
    $config['last_tag_open'] = '<li>';
    $config['last_tag_close'] = '</li>';
    $config['prev_link'] = '<i class="fa fa-long-arrow-left"></i>Previous Page';
    $config['prev_tag_open'] = '<li>';
    $config['prev_tag_close'] = '</li>';
    $config['next_link'] = 'Next Page<i class="fa fa-long-arrow-right"></i>';
    $config['next_tag_open'] = '<li>';
    $config['next_tag_close'] = '</li>';
        $start=$this->uri->segment(2);
        $this->pagination->initialize($config);
        $data['rows'] =$row;
        $data['tabelrule'] = $this->TabelRule_model->tampilTabelRule($config['per_page'],$start);
        $this->load->view('pages/static/header');
        $this->load->view('pages/forms/tabelrule',$data);
        $this->load->view('pages/static/footer');
    }else {
        redirect('Login/signin');
    }

}

我得到的结果:pagination

【问题讨论】:

  • 我也使用这种方式,但是在添加新控制器时,我必须在每个功能中添加分页功能,它占用了大量空间。所以我想要的是在里面制作1个功能已经有分页功能,当我让新控制器不必要时重写功能
  • 这可能是由于$start=$this-&gt;uri-&gt;segment(2);,因为第一个是控制器,第二个是函数,第三个是偏移量所以使用$start=$this-&gt;uri-&gt;segment(3);.希望它有帮助
  • 还是不行
  • 好吧,试试这个想法,实际上你在不同的函数中定义 $config 尝试在初始化分页的同一个函数中定义它我的意思是说所有 $config 值都在同一个函数中跨度>

标签: php codeigniter


【解决方案1】:

你的函数没有返回任何东西,它有一个 $config 局部范围的变量。

你应该这样做:

public function pagination(){

    $config['full_tag_open'] = "<ul class='pagination'>";
    $config['full_tag_close'] = '</ul>';
    $config['num_tag_open'] = '<li>';
    ...
    return $config;
}

然后:

public function dataRule(){
    if (!empty($this->session->userdata('username'))) {

    $row=$this->TabelRule_model->barisRule();
    $this->load->library('form_validation');

    $config = $this->pagination();
    $config['base_url'] = 'http://localhost/diagnosaKucing/tabelrule';
    $config['total_rows'] = $row;
    $config['per_page'] = 8;

    $start=$this->uri->segment(2);
    $this->pagination->initialize($config);
    ...

等等。

【讨论】:

  • 嘿伙计,我能问点什么吗?为什么我不能在函数分页或函数中使用 $this blablabla
  • @FarisDewantoro 你的意思是想为分页配置设置一个默认值吗?比如说:$this-&gt;config 并在控制器的其他地方使用它?
  • 我的意思是喜欢这个函数 cari(){ $query = $this->db->query("SELECT KodePertanyaan from tabelrule"); $query = $query->result_array();返回$查询; } 公共函数 (){ $data['cari']=$this->cari(); $this->load->view('pages/static/header'); $this->load->view('pages/action/updatePertanyaan',$data); $this->load->view('pages/static/footer'); }
  • @FarisDewantoro 您能否更新您的问题以更详细地了解您的意思?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-04
  • 1970-01-01
  • 2012-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多