codeigniter

时间:2018-06-07 23:48:05

标签: php mysql sql codeigniter models

我创建了一个管理页面和用户页面,我想显示管理员登录时已在数据库中注册的用户列表。 为此,我创建了如下模型,

  public function regi_users(){
$q = $this->db->query("SELECT username FROM public");

return $q;
}

这是我通过我创建的视图访问的,当管理员登录时,他被重定向,如下所示,

account.php

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
 </head>
 <body>
<?php

  $this->load->model('loginmodel');
    $qresult = $this->loginmodel->regi_user();

    foreach ($qresult as $row) {
      echo $row->username;
    }
 ?>

 </body>

但是当我的管理员登录时,他会显示以下错误,

  

致命错误:调用未定义的方法LoginModel :: regi_user()in   第11行的E:\ wamp64 \ www \ ci \ application \ controllers \ account.php

我在这里做错了什么?我很抱歉,如果这是一个愚蠢的问题,但我是一个新的PHP

感谢您的建议

3 个答案:

答案 0 :(得分:1)

控制器

class User extends CI_Controller {
   public function __construct() {
      parent::__construct();        
      $this->load->model('loginmodel');
   }

  public function FunctionName($value='')
  { 
      $this->data["users"] = $this->loginmodel->regi_user();        
      $this->load->view('account',$this->data);
  }
}

模型

class Loginmodel extends CI_Model{
  function __construct() {
    parent::__construct();              
  }

  public function regi_user() {
    $query = $this->db->get('table_name')->result();
    return $query;
  }
}

查看

<table class="table">
<thead>
  <tr>
    <th>Firstname</th>       
  </tr>
</thead>
<tbody>
<?php  foreach ($users as $row) { ?>
  <tr>
    <td><?php echo $row->username; ?></td>
  </tr>  
  <?php } ?>
</tbody>
</table>

答案 1 :(得分:0)

您的查询应该是这样的

public function regi_users(){
   return $this->db->select('username')->from('table_name')->get()->result_array();
}

答案 2 :(得分:0)

控制器

class User extends CI_Controller 
{
   public function __construct() 
   {
      parent::__construct();        
      $this->load->model('YourModelName');
   }
    public function fetchUser()
    {
        $data['user']=$this->YourModelName->fetchUsers();
        $this->load->view('yourViewClass',$data);
    }
}

模型

class YourModelName extends CI_Model
{
    function __construct() 
    {
        $this->load->database();              
    }

    public function fetchUsers() 
    {
        $query = $this->db->select('*')->from('table_name');
        $query=$this->db->get();
        if($query->num_rows()>0)
        {
            $result=$query->result();
            return $result;
        }else{ 
            return 0;
        }
    }
}

视图

<table>
  <thead>  
    <tr>
      <th>Firstname</th>         
    </tr> 
   </thead> 
   <tbody> 
     <?php  foreach ($user as $row) { ?>   
       <tr>
         <td><?php echo $row->username; ?></td>   
       </tr>     
     <?php } ?> 
  </tbody> 
</table>