我是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 未定义。
我希望任何人都可以提供帮助
答案 0 :(得分:1)
在模型可以使用它之前,您需要定义$id
。既然你说你不知道怎么做,我会建议一个教程。
答案 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');
}
}