代码点火器,视图中的阵列打印

时间:2015-07-23 07:41:18

标签: php codeigniter

这是我的模特

<?php
     class home_model extends CI_Model {

     function login() 
     {
       $q = $this->db->query('SELECT * FROM users');
       $count = $q->num_rows();

       if ($count > 0) 
       {
         foreach ($q->result() as $row) 
         {
            $data[]['username'] = $row->username;
            $data[]['email'] = $row->email;
            $data[]['sex'] = $row->sex;
            $data[]['dob'] = $row->dob;
            $data[]['mobile'] = $row->mobile;
        }
        return $data;
    }
  ?>

这是我的控制器

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

class home extends CI_Controller 
{
  public function index() 
  {
    $this->load->model('home_model');
    $data['records'] = $this->home_model->login();
    $this->load->view('home', $data);
  }
}

我只能打印_r,这不是我想要的,我将如何回应这个?我不知道我应该在回声中使用什么格式,

echo($records[0]);

这种格式是我尝试的但它返回错误

  

遇到PHP错误

     

严重性:注意

     

消息:数组到字符串转换

     

文件名:views / home.php

     

行号:4数组

     

我该如何编码我的观点?

4 个答案:

答案 0 :(得分:1)

首先,您的登录功能需要根据codeigniter进行更正。

function login() {
$q = $this->db->query('SELECT * FROM users');
$count = $q->num_rows();
if ($count > 0) {

    return $q->result_array();
}

它将根据您的需要提供数组。

然后在视图中使用,你需要使用它。

假设您想要回显第一个用户名

        echo $records[0]['username'];

这里$ records [0]是一个数组,因此您需要像上面提到的那样使用,对于其他字段也是如此。

答案 1 :(得分:0)

在您的观点中

foreach($records as $users)
{

    echo $users['username'];


}

答案 2 :(得分:0)

使用以下过程

你的模态     

 function login() 
 {
   $q = $this->db->query('SELECT * FROM users');
   $count = $q->num_rows();

   if ($count > 0) 
   {
      return $q->result();
   }
 }
?>

控制器没有变化

观看

foreach ($records as $row) 
{
    $username = $row->username;
    $email = $row->email;
    $sex = $row->sex;
    $dob = $row->dob;
    $mobile = $row->mobile;
 }

答案 3 :(得分:0)

使用内置函数print_r()并提供数组是一个参数