Php 为CodeIgniter中的foreach()提供了未定义的索引和无效参数
在下面的代码中,当我在不检查任何值的情况下进行更新时,它会显示来自db.And error Undefined变量的所有值:记录和为foreach()在113和119处提供的无效参数 未定义变量:第123行中的行 正在尝试在学生详细信息视图中获取123中非对象的属性 请任何人帮助我 控制员学生站:Php 为CodeIgniter中的foreach()提供了未定义的索引和无效参数,php,codeigniter,Php,Codeigniter,在下面的代码中,当我在不检查任何值的情况下进行更新时,它会显示来自db.And error Undefined变量的所有值:记录和为foreach()在113和119处提供的无效参数 未定义变量:第123行中的行 正在尝试在学生详细信息视图中获取123中非对象的属性 请任何人帮助我 控制员学生站: function index() { $data = array(); if($query = $this->student_model-&
function index()
{
$data = array();
if($query = $this->student_model->get_exam_data())
{
$data['exam_data'] = $query;
}
$this->load->view('student_view', $data);
}
function studentupdate()
{
$data = array();
$exam_name = $this->input->post('exam_name');
$course_name = $this->input->post('course_name');
if($query = $this->student_model->get_exam_data())
{
$data['exam_data'] = $query;
}
if($query = $this->student_model->get_records($exam_name))
{
$data['records'] = $query;
}
if($query = $this->student_model->get_course_code_records($exam_name))
{
$data['course_records'] = $query;
}
if($query = $this->student_model->get_all_coursesubject_records())
{
$data['all_coursesubject_records'] = $query;
}
$this->load->view('student_detail_view', $data);
}
function studentcreate()
{
$data = array();
$exam_name = $this->input->post('exam_name');
$data['exam_name'] = $exam_name;
/*if($query = $this->student_model->get_exam_data())
{
$data['exam_data'] = $query;
}*/
if($query = $this->student_model->get_course_code_records($exam_name)) //get unique records of coursecode from the coursesubject table
{
$data['course_records'] = $query;
}
/*if($query = $this->student_model->get_subject_code_records($exam_name)) //write seperate function to get the the subject codes frm the coursesubject table based on the selected course code.
{
$data['subject_records'] = $query;
} */
$this->load->view('student_update', $data);
}
function subject_records()
{
$data = array();
$exam_name = $this->input->post('exam_name');
$course_name = $this->input->post('course_name');
if($query = $this->student_model->get_subject_records($exam_name,$course_name))
{
$data['subject_records'] = $query;
}
$this->load->view('subject_view', $data);
}
function create_student()
{
/*$data = $this->input->post();
print_r($data);
var_dump($this->input->post());
$data=$this->input->post();*/
$j=1;
$createstudent = $this->input->post('createstudent');
if( $this->input->post('createstudent') != false ){
foreach($createstudent as $row_id)
{
$this->form_validation->set_rules("register_number_" . $row_id, "Register No", "required|min_length[2]");
//$this->form_validation->set_rules("name_". $row_id,"`Name`","required|xss_clean|min_length[1]");
}
}
if ($this->form_validation->run() == FALSE){
$data["message"]="";
$this->load->view("student_detail_view",$data);
//$this->load->view("master_data/view_master_data_footer");
}
while($j<=$this->uri->segment(3))
{
$data = array(
'exam_name' => $this->input->post('exam_name'),
'register_number' => $this->input->post('register_number_'.$j),
'name' => $this->input->post('name_'.$j),
'course_code' => $this->input->post('course_name_id'.$j),
'subject_code' => $this->input->post('subject_name'),
);
// $exam_name = mysql_real_escape_string($_POST["exam_name_id".$j]);//
$register_number=$this->input->post('register_number_'.$j);
if ($register_number != "")
{
$this->student_model->add_record($data);
}
$j++;
}
redirect('student_site', 'refresh');
}
function delete()
{
$this->student_model->delete_row();
redirect('student_site', 'refresh');
}
function manage_student()
{
$data['title']="Manage Student";
//query model to get data results for form
$data=array();
if($query=$this->student_model->get_student_records()){
$data['records']=$query;
}
$editstudent = $this->input->post('editstudent');
if( $this->input->post('editstudent') != false ){
foreach($editstudent as $row_id)
{
$this->form_validation->set_rules("register_number_" . $row_id, "register_number", "required|min_length[2]");
}
}
if ($this->form_validation->run() == FALSE){
$data["message"]="";
//$this->load->view("master_data/view_master_data_header",$data);
//$this->load->view("master_data/view_master_data_nav");
$this->load->view("student_detail_view",$data);
//$this->load->view("master_data/view_master_data_footer");
} else {
// single update - working
if( $this->input->post('editstudent') != false )
{
foreach ($editstudent as $row_id)
{
$data = array(
'register_number' => $this->input->post('register_number_'.$row_id),
'name' => $this->input->post('name_'.$row_id),
'course_code' => $this->input->post('course_code_id'.$row_id),
'subject_code' => $this->input->post('subject_code_id'.$row_id),
);
$this->student_model->update_student_records( $row_id, $data );
}
$this->session->set_flashdata('dbaction', 'Selected Records have been updated successfully');
redirect('student_site', 'refresh');
}
}
}
$data = array(
'exam_name' => $this->input->post('exam_name_id'),
'register_number' => $this->input->post('register_number'),
'name' => $this->input->post('name'),
'subject_code' => $this->input->post('subject_code'),
'course_code' => $this->input->post('course_code'),
);
$exam_name = $this->input->post('exam_name');
$register_number = $this->input->post('register_number');
$name = $this->input->post('name');
$course_code = $this->input->post('course_code');
$subject_code = $this->input->post('subject_code');
$this->student_model->update_student_record($exam_name,$register_number,$name,$course_code,$subject_code,$data);
$data = array();
$query = $this->student_model->get_records($exam_name);
echo "<pre>";
print_r($query);
exit;
if($query)
{
$data['records'] = $query;
}
$this->load->view('student_detail_view', $data);
function crud()
{
}
function deleting()
{
}
视图:学生\详细信息\视图
if(isset($records)){
foreach($records as $row){
//do things here
}
}
您应该检查是否设置了$record,然后使用foreach。
尝试以下方法:
function update()
{
$data = array(
'exam_name' => $this->input->post('exam_name_id'),
'register_number' => $this->input->post('register_number'),
'name' => $this->input->post('name'),
'subject_code' => $this->input->post('subject_code'),
'course_code' => $this->input->post('course_code'),
);
$exam_name = $this->input->post('exam_name');
$register_number = $this->input->post('register_number');
$name = $this->input->post('name');
$course_code = $this->input->post('course_code');
$subject_code = $this->input->post('subject_code');
$this->student_model->update_student_record($exam_name,$register_number,$name,$course_code,$subject_code,$data);
$data = array();
$query = $this->student_model->get_records($exam_name);
echo "<pre>";
print_r($query);
exit;
if($query)
{
$data['records'] = $query;
}
$this->load->view('student_detail_view', $data);
}
按如下方式尝试对查询中获得的记录进行echo:
函数更新()
{
$data=数组(
“考试名称”=>this->input->post('exam\u name\u id'),
“register\u number”=>this->input->post('register\u number'),
'name'=>this->input->post('name'),
“主题代码”=>this->input->post(“主题代码”),
“课程代码”=>this->input->post(“课程代码”),
);
$exam_name=$this->input->post('exam_name');
$register\u number=$this->input->post('register\u number');
$name=$this->input->post('name');
$course\u code=$this->input->post('course\u code');
$subject_code=$this->input->post('subject_code');
$this->student\u model->update\u student\u record($test\u name、$register\u number、$name、$course\u code、$subject\u code、$data);
$data=array();
$query=$this->student\u model->get\u records($exam\u name);
回声“;
打印(查询);
出口
如果($query)
{
$data['records']=$query;
}
$this->load->view('student\u detail\u view',$data);
}
这意味着未设置数组元素记录…..请尝试在phpMyadmin上进行查询..哪几行是113、119和123?它在视图中:student\u detail\u view@C。MaletI已发布get\u records@Sonaliposted answer for debug just checkit shows error解析错误:语法错误,意外'{在C:\wamp\www\Ci\u Seatapp22-Ds\application\views\student\u detail\u view.php中联机113@moses添加了一个缺少的括号。将此代码放置在何处:$this->student\u model->get\u records($exam\u name)@Sonalinope,只需复制粘贴我在上面粘贴的控制器代码……我添加了echo“”;print\u r($query)而不是您的控制器;exit;在my controllerit中显示此错误解析错误:语法错误,学生站点中意外的T_回显
if(isset($records)){
foreach($records as $row){
//do things here
}
}
function update()
{
$data = array(
'exam_name' => $this->input->post('exam_name_id'),
'register_number' => $this->input->post('register_number'),
'name' => $this->input->post('name'),
'subject_code' => $this->input->post('subject_code'),
'course_code' => $this->input->post('course_code'),
);
$exam_name = $this->input->post('exam_name');
$register_number = $this->input->post('register_number');
$name = $this->input->post('name');
$course_code = $this->input->post('course_code');
$subject_code = $this->input->post('subject_code');
$this->student_model->update_student_record($exam_name,$register_number,$name,$course_code,$subject_code,$data);
$data = array();
$query = $this->student_model->get_records($exam_name);
echo "<pre>";
print_r($query);
exit;
if($query)
{
$data['records'] = $query;
}
$this->load->view('student_detail_view', $data);
}