【问题标题】:Call to a member function record_count() on null codeigniter在 null codeigniter 上调用成员函数 record_count()
【发布时间】:2016-08-24 19:58:42
【问题描述】:

尝试从包含成员列表的数据库中设置一些分页。我有一个返回结果的查询,但我无法将其合并到我在互联网上找到的分页示例中。现在,当我尝试加载我的成员列表时,我在 null 错误上收到对成员函数 record_count() 的调用。下面是代码。

型号

public function count_members()
{
    return $this->db->count_all("Users");
}

public function getMembers($limit, $start)
{
    $this->db->limit($limit, $start);
    $query = $this->db->get("users");

    if ($query->num_rows() > 0){
        foreach ($query->result() as $row) {
            $data[] = $row;
        }

        return $data;
    }
    return false;
    /*if ($id == null) {
        $query = $this->db->get('users');
    }else{
        $query = $this->db->get_where('users', ['id' => $id]);
    }
    return $query->result();  */
}

查看

<h1>Member Listing</h1>
<table border="1" align="center">
<thead>
    <th>First Name</th>
    <th>Last Name</th>
    <th>Email Address</th>
    <th>Status</th>
    <th>Last Login</th>
    <th>Delete</th>
    <th>Write Up</th>
<thead>
<tbody>
    <?php foreach ($members as $_key => $_value): ?>
<tr>
    <td><?=$_value->first_name?></td>
    <td><?=$_value->last_name?></td>
    <td><?=$_value->email?></td>
    <td><?=$_value->status?></td>
    <td><?=$_value->last_login?></td>
    <td><a href="<?=site_url("admin/delete_member/{$_value->id}");?>">[X]</a></td>
</tr>
<?php endforeach;?>
<?php echo $links; ?></p>
</tbody>
</table>
<a href="<?php echo base_url(); ?>admin/home">Back to Dashboard</a>

控制器

public function view_members()
    {
        $this->load->model('Users_model');
        $config = array();
        $config["base_url"] = base_url() . "admin/view_members";
        $config["total_rows"] = $this->Users->record_count();
        $config["per_page"] = 20;
        $config["uri_segment"] = 3;

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

        $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
        $data["results"] = $this->Users->getMembers($config["per_page"], $page);
        $data["links"] = $this->pagination->create_links();

        //$this->data['members'] = $this->Users_model->getMembers();
        $this->load->view('admin/inc/admin_header');
        $this->load->view('admin/view_members', $this->data);
        $this->load->view('admin/inc/admin_footer');
    }

错误消息 遇到 PHP 错误

严重性:通知

消息:未定义的属性:Admin::$users

文件名:controllers/Admin.php

行号:217

致命错误:在第 217 行的 G:\xampp\htdocs\highball061516\application\controllers\Admin.php 中调用一个成员函数 count_members() on null 遇到 PHP 错误

严重性:错误

消息:在 null 上调用成员函数 count_members()

文件名:controllers/Admin.php

行号:217

【问题讨论】:

  • 包含完整的错误信息

标签: php codeigniter


【解决方案1】:

在代码点火器分页中,$config["total_rows"] 参数要求数据库中存在的记录总数。在您的代码中,它从模型中不存在的函数中获取此计数。它应该从count_members 获取它。这是更新后的控制器代码:

public function view_members()
{
    $this->load->model('Users_model');
    $config = array();
    $config["base_url"] = base_url() . "admin/view_members";

    // Code modified here
    $config["total_rows"] = $this->Users_model->count_members();

    $config["per_page"] = 20;
    $config["uri_segment"] = 3;

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

    $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
    $data["results"] = $this->Users->getMembers($config["per_page"], $page);
    $data["links"] = $this->pagination->create_links();

    //$this->data['members'] = $this->Users_model->getMembers();
    $this->load->view('admin/inc/admin_header');
    $this->load->view('admin/view_members', $this->data);
    $this->load->view('admin/inc/admin_footer');
}

【讨论】:

  • 立即尝试。之前对count_members 的引用是错误的。更新代码...
猜你喜欢
  • 1970-01-01
  • 2021-01-23
  • 2017-06-18
  • 2019-02-08
  • 2018-06-25
  • 2017-08-09
  • 1970-01-01
  • 2020-03-10
  • 2017-09-24
相关资源
最近更新 更多