CodeIgniter - 在数据库

时间:2018-03-03 15:01:27

标签: php sql database codeigniter

我是codeigniter的新手并且仍在掌握... 我有一个用户登录他们的仪表板,他们可以进入他们的帐户页面..我想要的是让帐户页面在表单输入中显示他们的详细信息(用户名,电子邮件等)(我将添加更新功能)。 。

使用我当前的代码我在尝试显示数据时遇到两个错误..'结果'的未定义变量和'无效参数提供foreach()'..如果有人可以指出我在右边,请提前方向

我的控制器

<?php

class Account extends CI_Controller
{
    public function __construct(){
        parent::__construct();
        $this->load->model('Account_model');
    }
    public function view()
    {
        $data['results'] = $this->Account_model->get_users();
        $this->load->helper(array('form','url'));
        $this->load->view('account',$data);
    }
}

我的模特

<?php

    class Account_model extends CI_Model
    {
        public function __construct()
        {
            $this->load->database();
        }
        public function get_users()
        {
            $sql = "SELECT id, username, email FROM users ";
            $query = $this->db->query( $sql );
            return $query->result();
        }
    }

我的观点

<?php
  foreach ($results as $result)
  {?>
    <label>Username : </label>
    <input type="text" value="<?php echo $result->id;?>" />
    <input type="text" value="<?php echo $result->username;?>" />
    <input type="text" value="<?php echo $result->email;?>" />
<?php } ?>

4 个答案:

答案 0 :(得分:0)

此错误是因为您的查询未返回任何结果。因此,当您尝试在一个不是数组的变量中执行foreach时,它会给您这个错误。

确保首先验证您是否有有效查询然后尝试循环。在您的观点中,您可以这样做:

og:image:height

至于您的查询,我建议您使用c odeigniter query builder

答案 1 :(得分:0)

You can Use The below Example above...

型号:user.php

 <?php
 class User extends CI_Model {
public function info(){
 //Loading Database
 $this->load->database();
 //Run Query in Database
 $query=$this->db->get('users');
 return $query->result();
 }
}
 ?>

Controller:blog.php

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

 class Blog extends CI_Controller {

  public function index()
    {
      $this->load->model('user');
     $data['result']= $this->user->info();
    $this->load->view('welcome_user',$data);
        } 
      }

查看:welcome_user.php

  <html>
 <head>
 <title>Codeigniter Controller Examples--codenair.com</title>
 </head>
 <h1>User List's</h1>
<table cellspacing="0" border="1">
<tr>
<th>ID</th>
<th>UserName</th>
<th>Email</th>
 </tr>

<?php foreach($result as $row){?>
  <tr>
  <td><?php echo $row->id;?></td>
 <td><?php echo $row->username;?></td>
 <td><?php echo $row->email;?></td>
</tr>
<?php }?>
 </table>

答案 2 :(得分:0)

      Try This Codes and Print Out Result array. let me know.. 

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

      class Blog extends CI_Controller {

       public function index()
      {
         $this->load->model('user');
       $data['result']= $this->user->info();
       print_r($data);
            } 
         }                                                                                                                                                            

答案 3 :(得分:0)

      $loggeduser=$this->session->userdata('username');
      $query= $this->db->query("SELECT*FROM users WHERE username='$loggeduser'");

//尝试此操作以显示当前记录的用户信息..