Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为CodeIgniter中的foreach()提供了未定义的索引和无效参数_Php_Codeigniter - Fatal编程技术网

Php 为CodeIgniter中的foreach()提供了未定义的索引和无效参数

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-&

在下面的代码中,当我在不检查任何值的情况下进行更新时,它会显示来自db.And error Undefined变量的所有值:记录和为foreach()在113和119处提供的无效参数 未定义变量:第123行中的行 正在尝试在学生详细信息视图中获取123中非对象的属性

请任何人帮助我

控制员学生站:

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