如何在codeigniter中传递数组和变量
问题描述:
i want to pass an array and two variables to my view my array is passed in views successfully but the two variable is undefined.can anyone help me how to pass those values to view.i tried indexing,then the model doesn't work.
my controller
$Semister=$this->input->post('Semister');
$Dept=$this->input->post('Dept');
$this->load->model('Upload_Result_Model');
$data['subjects']=$this->Upload_Result_Model->getAllSubjects($Semister,$Dept);
$data['student']=$this->Upload_Result_Model->getAllStudent($Semister,$Dept);
$this->load->view('Faculty/upload_mid_result',$data,$Dept,$Semister);
my view
<h3>Department: <?php echo $Dept;?></h3> //error Undefined variable: Dept
<h3>Semister: <?php echo $Semister;?></h3> ////error Undefined variable: Dept
can ayone help me fixing this problem.everything works fine except $dept and $Semister. Thanks i advance
答
Try this,
$data['Semister'] =$this->input->post('Semister');
$data['Dept'] =$this->input->post('Dept');
$this->load->model('Upload_Result_Model');
$data['subjects']=$this->Upload_Result_Model->getAllSubjects($data['Semister'],$data['Dept']);
$data['student']=$this->Upload_Result_Model->getAllStudent($data['Semister'],$data['Dept']);
$this->load->view('Faculty/upload_mid_result',$data);
You can access all the variables directly in view like how you are accessing now.
答
In your controller use $data['semister'] = $Semister
and $data['dept'] = $Dept
答
Sending data to view is easy
$this->load->model('Upload_Result_Model');
$semister = $this->input->post('Semister');
$Dept = $this->input->post('Dept');
$data['semister'] = $semister;
$data['dept'] = $Dept;
$data['subjects'] = $this->Upload_Result_Model->getAllSubjects($Semister,$Dept);
$data['student'] = $this->Upload_Result_Model->getAllStudent($Semister,$Dept);
$this->load->view('Faculty/upload_mid_result',$data);
$data
array is applied php extract in view method and you can use indexes of array at view like this
echo $semister;
echo '<br>';
echo $dept;
echo '<br>';
echo '<pre>';
print_r($subjects);
echo '<pre>';
print_r($student);