【问题标题】:CodeIgniter: Can't Display dataCodeIgniter:无法显示数据
【发布时间】:2015-07-27 17:00:39
【问题描述】:

我是 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 未定义。

希望大家帮忙

【问题讨论】:

  • 你在哪里定义$id在控制器?
  • @mehedi-pstu2k9 我实际上还没有定义。而且我还没想好怎么定义。
  • 你想从哪里得到$id?是来自$_SESSION$_GET 还是$_POST
  • @mehedi-pstu2k9 来自 $_GET,绝对是

标签: php codeigniter codeigniter-2


【解决方案1】:

您需要先定义$id,模型才能使用它。既然你说你不知道怎么做,我建议一个教程。

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

【讨论】:

    【解决方案2】:

    既然您说您的$id 来自$_GET,那么请尝试使用$this-&gt;input-&gt;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');
        }
    }
    

    【讨论】:

      【解决方案3】:

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

      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');
               }
          }
      

      【讨论】:

      • 你先生救了我的蛋。谢谢!
      猜你喜欢
      • 2018-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多