代码点火器 - “下一步”按钮更改页面上的值和数据,但“活动”类不会更改


Codeigniter - The Next button changes the value and data on the page, but it the "active" class doesn't change

我想做的是创建一个分页函数。我已经成功地创建了它。它有效。URI 段更改和所有内容。太完美了。但是,有一个小问题。当我按"下一步"按钮或按另一个数字转到下一页时,由于某种原因,"第 1 页"仍然突出显示。我无法单击它以转到第一页。显示"上一个"按钮。因此,在我转到第二页或任何其他页面(除 1 页)后,我无法返回第一页。我可以返回第一页的唯一方法是更改 URI 段。

我找不到这个特定问题的答案,因此非常感谢任何帮助。谢谢。

我的模型:

public function record_count_sitelog()
{
    $uid = $this->uri->segment(4);
    return $this->db->get_where('site_log', array('uid' => $uid))->num_rows();
}
public function fetch_users_sitelog($limit, $start)
{
    $this->db->order_by("time", "desc"); //ordering it in descending order
    $uid = $this->uri->segment(4);
    $this->db->limit($limit, $start);
    $query = $this->db->get_where('site_log', array('uid' => $uid));
    if ($query->num_rows() > 0) {
        foreach ($query->result() as $row) {
            $data[] = $row;
        }
        return $data;
    }
    return false;
}

我的控制器:

public function site_log() {
    $uid = $this->uri->segment(4);
    $data = array( 'uid' => $uid
    );
    $this->load->model('Model_Admin_Pagination');
    $this->load->library('pagination');
    $this->load->library('table');
    $config = array();
    $config["base_url"] = base_url() . "admin/users/site_log/". $uid ."/";
    $this->db->select('*');
    $config["total_rows"] = $this->Model_Admin_Pagination->record_count_sitelog();
    $config["per_page"] = 20;
    $config["uri_segment"] = 4;
    $config["num_links"] = 3;
    $config['records'] = $this->db->select('*');
    //styling it
    $config['full_tag_open'] = '<div class="pull-right"> <ul class="pagination">';
    $config['full_tag_close'] = '</div></ul>';
    $config['num_tag_open'] = '<li>';
    $config['num_tag_close'] = '</li>';
    $config['next_link'] = '→';
    $config['next_tag_open'] = '<li>';
    $config['next_tag_close'] = '</li>';
    $config['prev_link'] = '←';
    $config['cur_tag_open'] = '<li class="active"><a>';
    $config['cur_tag_close'] = '</li></a>';
    $config['prev_tag_open'] = '<li>';
    $config['prev_tag_close'] = '</li>';
    $config['last_link'] = '»';
    $config['last_tag_open'] = '<li>';
    $config['last_tag_close'] = '</li>';
    $config['first_link'] = '«';
    $config['first_tag_open'] = '<li>';
    $config['first_tag_close'] = '</li>';
    //end styling it
    $page = ($this->uri->segment(5)) ? $this->uri->segment(5) : 0;
    $data["results"] = $this->Model_Admin_Pagination->
    fetch_users_sitelog($config["per_page"], $page);
    $data["links"] = $this->pagination->create_links();
    $this->pagination->initialize($config);
    $this->load->view('admin/includes/header');
    $this->load->view('admin/view_site_log', $data);
}

我的观点:

    <?php
if (is_array($results))
{
    foreach ($results as $data) { ?>
        <div> <!--class="col-md-6 col-sm-6"-->
            <div class="well pretty-text">
                <p>
                    <h3><font color="#708090">Time:</font> <?php echo date("g:i A", strtotime($data->time)). ' on ' . date("F j, Y", strtotime($data->time)) ?><br></h3>
                    <b>Current URL:</b> <?php echo $data->current_url ?><br>
                    Referrer: <?php echo $data->referrer ?><br>
                    <b>Browser:</b> <?php echo $data->browser ?><br>
                    Mobile: <?php echo $data->mobile ?><br>
                    <b>Platform:</b> <?php echo $data->platform ?><br>
                <b>User Agent:</b> <?php echo $data->user_agent ?>
                </p>
            </div>
        </div>
    <?php } } ?>
<?php  echo $this->pagination->create_links(); ?>

你说你的uid $this->uri->segment(4); .如果这是segment(4),那么在您的控制器中,您说$config["uri_segment"] = 4;

如果您的 URL 类似于:http://example.com/profile/view/1/10其中 1uid ,那么您应该将 $config["uri_segment"] = 4; 中的4更改为 5

所以我会替换这一行(在您的控制器中):

$config["uri_segment"] = 4;

跟:

 $config["uri_segment"] = 5;