Php 模板中未定义的变量
每当我加载控制器时,我都会得到未定义的变量 这里是从控制器调用的索引函数(第4行),并且在每次发生时都会出现相同的错误Php 模板中未定义的变量,php,codeigniter,codeigniter-2,Php,Codeigniter,Codeigniter 2,每当我加载控制器时,我都会得到未定义的变量 这里是从控制器调用的索引函数(第4行),并且在每次发生时都会出现相同的错误 <?php class Students extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('Student_model'); } public function index() { $
<?php
class Students extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('Student_model');
}
public function index() {
$data['view_name'] = 'students/dashboard';
$this->load->view('templates/template_student' , $data );
}
}
您已经在控制器中加载了名为Student的模型,并且您正在模板中访问$Student变量。
这是两件不同的事情
你应该这样做:
class Students extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('Student_model', 'student');
}
public function index()
{
$student = ... // retrieve the student from db
$data['student'] = $student; // define the variable to be sent to the view
$this->load->view('templates/template_student' , $data );
}
}
控制器的更改
<?php
class Students extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('Student_model');
}
public function index() {
$data = array();
$data['view_name'] = 'students/dashboard';
$data['student'] = $this->student_model->get_all();
$this->load->view('templates/template_student' , $data );
}
}
这里$this->table
应该是学生表名
现在我希望你能检查一下你的观点中是否存在类似的值passport_照片
<?php if($student[0]['passport_photo'] == ''){
.
.
.
} ?>
我希望这能帮助你…谢谢 您将哪些数据传递给视图?错误在于第四行中的$student变量我第一次没有包含索引函数,对此表示抱歉。谢谢,我非常感谢。我的一个朋友给了我他的代码,但我对codeigniter一无所知。然后我看了一些教程,加上你的解释,我真的明白了。它很管用。你甚至让我的代码变得更好。谢谢。干杯!
function get_all()
{
$this->db->from($this->table);
$query=$this->db->get();
if($query->num_rows()>0){
return $query->result_array();
}
else{
return array();
}
}
<?php if($student[0]['passport_photo'] == ''){
.
.
.
} ?>