CodeIgniter:无法显示数据

时间:2015-07-27 17:00:40

标签: php codeigniter codeigniter-2

我是CodeIgniter的新手,我使用的是v2.2.3。 我设法创建了以下代码,但我无法显示数据。

这是我的模型

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

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

    // Fetch data according to per_page limit.
    public function fetch_data($id) {
        $this->db->where('id', $id);
        $query = $this->db->get('items');
        if($query->num_rows()!==0)
        {
            return $query->result();
        }
        else
            return FALSE;
   }
}
?>

这是我的控制器

  function item()
  {
        if($this->session->userdata('logged_in'))
        {          
            $data["results"] = $this->item_model->fetch_data($id);       
            $session_data = $this->session->userdata('logged_in');
            $data['username'] = $session_data['username'];   
            $data['title'] = '';
            $this->load->view('inventory/item_view', $data);
         }
         else
         {
            $this->session->set_flashdata('message', 'Oops! You have to Login');
         //If no session, redirect to login page
            redirect('login', 'refresh');
         }
    }

我无法通过获取ID($ id)来显示数据。 它表示 $ id 未定义。

我希望任何人都可以提供帮助

3 个答案:

答案 0 :(得分:1)

在模型可以使用它之前,您需要定义$id。既然你说你不知道怎么做,我会建议一个教程。

http://learn-codeigniter.com/episode/codeigniter_basics

答案 1 :(得分:1)

由于您说$id来自$_GET,请尝试使用$this->input->get()

function item()
{
    if($this->session->userdata('logged_in'))
    {
        $id = $this->input->get('id', TRUE); //If $_GET param name is id
        $data["results"] = $this->item_model->fetch_data($id);
        $session_data = $this->session->userdata('logged_in');
        $data['username'] = $session_data['username'];
        $data['title'] = '';
        $this->load->view('inventory/item_view', $data);
    }
    else
    {
        $this->session->set_flashdata('message', 'Oops! You have to Login');
        //If no session, redirect to login page
        redirect('login', 'refresh');
    }
}

答案 2 :(得分:0)

此处在您的控制器操作添加参数中,您将获得数据。

function item($id) {

    if($this->session->userdata('logged_in')) { 

            $data["results"] = $this->item_model->fetch_data($id);       
            $session_data = $this->session->userdata('logged_in');
            $data['username'] = $session_data['username'];   
            $data['title'] = '';
            $this->load->view('inventory/item_view', $data);
         } else {

            $this->session->set_flashdata('message', 'Oops! You have to Login');
         //If no session, redirect to login page
            redirect('login', 'refresh');
         }
    }