【问题标题】:Codeigniter : displaying query result in controllerCodeigniter:在控制器中显示查询结果
【发布时间】:2012-05-21 11:26:13
【问题描述】:

我试图在我的控制器中显示我的数据库查询结果,但我不知道该怎么做。能给我看看吗?

控制器

 function get_name($id){

 $this->load->model('mod_names');
 $data['records']=$this->mod_names->profile($id);

// I want to display the the query result here 
 // like this:  echo $row ['full_name'];

 }

我的模特

function profile($id)
    {  

        $this->db->select('*');
        $this->db->from('names');
        $this->db->where('id', $id); 
        $query = $this->db->get();


        if ($query->num_rows() > 0)
        { return $query->row_array();
        }
        else {return NULL;}

    }   

【问题讨论】:

    标签: codeigniter codeigniter-2


    【解决方案1】:
    echo '<pre>';
    print_r($data['records']);
    

     echo $data['records'][0]['fullname'];
    

    【讨论】:

    • 感谢您的回复。我试过echo $data['records'][0]['fullname']; 但我收到这条消息:未定义的偏移量:0 谢谢 :)
    • ok 改成这样就可以了 echo $data['records']['fullname'];
    【解决方案2】:

    型号:

    function profile($id){  
        return $this->db->
        select('*')->
        from('names')->
        where('id', $id)->
        get()->row_array();
    } 
    

    控制器:

    function get_name($id){
    
        $this->load->model('mod_names');
        $data['records']=$this->mod_names->profile($id);
    
        print_r($data['records']); //All 
        echo $data['records']['full_name']; // Field name full_name
    
    }
    

    【讨论】:

      【解决方案3】:

      你在视图中这样做,就像这样。

      控制器:

       function get_name($id){
      
          $this->load->model('mod_names');
          $data['records']=$this->mod_names->profile($id);
          $this->load->view('mod_names_view', $data); // load the view with the $data variable
      
       }
      

      查看(mod_names_view):

       <?php foreach($records->result() as $record): ?>
           <?php echo $record->full_name); ?>
       <?php endforeach; ?>
      

      然后我会将您的模型修改为这样的(它对我有用):

      function profile($id)
      {  
          $this->db->select('*');
          $this->db->from('names');
          $this->db->where('id', $id); 
          $query = $this->db->get();
      
          if ($query->num_rows() > 0)
          {
           return $query; // just return $query
          }
      }
      

      【讨论】:

      • 是的,我知道如何在视图文件中执行此操作。但我需要在我的控制器中获取查询结果。谢谢:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-26
      • 2012-05-06
      • 1970-01-01
      • 2017-03-24
      相关资源
      最近更新 更多