php - 如何将codeigniter事件记录放入if elseif语句中

标签 php mysql codeigniter activerecord

$this->db->where('teacher_name_1 IS NOT NULL', NULL, FALSE);
$this->db->where('course_id', $course_id);
$this->db->update('tbl_course_choice', $teacher_name_2);

$this->db->where('teacher_name_2 IS NOT NULL', NULL, FALSE);
$this->db->where('course_id', $course_id);
$this->db->update('tbl_course_choice', $teacher_name_3);

$this->db->where('teacher_name_3 IS NOT NULL', NULL, FALSE);
$this->db->where('course_id', $course_id);
$this->db->update('tbl_course_choice', $teacher_name_4);

$this->db->where('teacher_name_4 IS NOT NULL', NULL, FALSE);
$this->db->where('course_id', $course_id);
$this->db->update('tbl_course_choice', $teacher_name_5);

$this->db->where('teacher_name_5 IS NOT NULL', NULL, FALSE);
$this->db->where('course_id', $course_id);
$this->db->update('tbl_course_choice', $teacher_name_6);

我如何才能将此代码放入 if elseif 语句中。我尝试了多种方法,但都失败了。

示例:

if ($this->db->where('teacher_name_1 IS NOT NULL', NULL, FALSE)) {
    $this->db->where('course_id', $course_id);
    $this->db->update('tbl_course_choice', $teacher_name_2);
}
elseif ($this->db->where('teacher_name_2 IS NOT NULL', NULL, FALSE)) {
    $this->db->where('course_id', $course_id);
    $this->db->update('tbl_course_choice', $teacher_name_3);
}
elseif ($this->db->where('teacher_name_3 IS NOT NULL', NULL, FALSE)) {
    $this->db->where('course_id', $course_id);
    $this->db->update('tbl_course_choice', $teacher_name_4);
}
elseif ($this->db->where('teacher_name_4 IS NOT NULL', NULL, FALSE)) {
    $this->db->where('course_id', $course_id);
    $this->db->update('tbl_course_choice', $teacher_name_5);
} 
elseif ($this->db->where('teacher_name_5 IS NOT NULL', NULL, FALSE)) {
    $this->db->where('course_id', $course_id);
    $this->db->update('tbl_course_choice', $teacher_name_6);
}
else {
    $this->db->where('course_id', $course_id);
    $this->db->update('tbl_course_choice', $teacher_name_1);
}

怎么了?请帮我弄清楚。谢谢

编辑 我的完整 Controller 经过一些修改,但仍然无法工作..

$user_name = $this->the_user->username;
$course_id = $this->input->post('course_id');
    $course_code = $this->input->post('course_code');
    $course_title = $this->input->post('course_title');
    $credit_hours = $this->input->post('credit_hours');
    $contact_hours = $this->input->post('contact_hours');
    $section = $this->input->post('section');
    $teacher = $this->input->post('teacher');

    $course_type = $this->input->post('course_typ');
    $pre_requisite = $this->input->post('pre_requisit');
    $year = $this->input->post('yea');
    $semester = $this->input->post('semeste');
    $teacher_name_1 = $user_name;
    $offering_year = $this->input->post('offering_year');
    $offering_session = $this->input->post('offering_session');

    $ql = $this->db->select('course_id')->from('tbl_course_choice')->where('course_id',$course_id)->get();
    if( $ql->num_rows() > 0 ) {
        $teacher_name_1 = array(
        'teacher_name_1' => 'mehdi hasan 1'
        );
        $teacher_name_2 = array(
        'teacher_name_2' => 'mehdi hasan 2'
        );
        $teacher_name_3 = array(
        'teacher_name_3' => 'mehdi hasan three'
        );
        $teacher_name_4 = array(
        'teacher_name_4' => 'mehdi hasan  four'
        );
        $teacher_name_5 = array(
        'teacher_name_5' => 'mehdi hasan  5'
        );
        $teacher_name_6 = array(
        'teacher_name_6' => 'mehdi hasan  6'
        );
    $this->db->where('teacher_name_1 != ', '');
$this->db->where('course_id', $course_id);
$query_2 = $this->db->get('tbl_course_choice');
$teacher_2_count = $query_2->num_rows();

$this->db->where('teacher_name_2 != ', '');
$this->db->where('course_id', $course_id);
$query_3 = $this->db->get('tbl_course_choice');
$teacher_3_count = $query_3->num_rows();

$this->db->where('teacher_name_3 != ', '');
$this->db->where('course_id', $course_id);
$query_4 = $this->db->get('tbl_course_choice');
$teacher_4_count = $query_4->num_rows();

$this->db->where('teacher_name_4 != ', '');
$this->db->where('course_id', $course_id);
$query_5 = $this->db->get('tbl_course_choice');
$teacher_5_count = $query_5->num_rows();

$this->db->where('teacher_name_5 != ', '');
$this->db->where('course_id', $course_id);
$query_6 = $this->db->get('tbl_course_choice');
$teacher_6_count = $query_6->num_rows();

if ($teacher_2_count > 0 ) {
    $this->db->where('course_id', $course_id);
    $this->db->update('tbl_course_choice', $teacher_name_2);
    } elseif ($teacher_3_count > 0 ) {
    $this->db->where('course_id', $course_id);
    $this->db->update('tbl_course_choice', $teacher_name_3);
    } elseif ($teacher_4_count > 0 ) {
    $this->db->where('course_id', $course_id);
    $this->db->update('tbl_course_choice', $teacher_name_4);
    } elseif ($teacher_5_count > 0 ) {
    $this->db->where('course_id', $course_id);
    $this->db->update('tbl_course_choice', $teacher_name_5);
    } elseif ($teacher_6_count > 0 ) {
    $this->db->where('course_id', $course_id);
    $this->db->update('tbl_course_choice', $teacher_name_6);
    } else {
    $this->db->where('course_id', $course_id);
    $this->db->update('tbl_course_choice', $teacher_name_1);
    }
    } else {
        $a = array(
            'course_id' => $course_id,
            'course_code' => $course_code,
            'course_title' => $course_title,
            'course_type' => $course_type,
            'credit_hours' => $credit_hours,
            'contact_hours' => $contact_hours,
            'section' => $section,
            'teacher' => $teacher, 
            'pre_requisite' => $pre_requisite,
            'year' => $year,
            'semester' => $semester,
            'offering_year' => $offering_year,
            'offering_session' => $offering_session,
            'teacher_name_1' => $teacher_name_1
            );
        $this->db->insert('tbl_course_choice', $a);
    }

最佳答案

使用此代码

$this->db->where('teacher_name_2 != ', '');
    $this->db->where('course_id', $course_id);
    $query_2 = $this->db->get('tbl_course_choice');
    $teacher_2_count = $query_2->num_rows();


    $this->db->where('teacher_name_3 != ', '');
    $this->db->where('course_id', $course_id);
    $query_3 = $this->db->get('tbl_course_choice');
    $teacher_3_count = $query_3->num_rows();



    $this->db->where('teacher_name_4 != ', '');
    $this->db->where('course_id', $course_id);
    $query_4 = $this->db->get('tbl_course_choice');
    $teacher_4_count = $query_4->num_rows();



    $this->db->where('teacher_name_5 != ', '');
    $this->db->where('course_id', $course_id);
    $query_5 = $this->db->get('tbl_course_choice');
    $teacher_5_count = $query_5->num_rows();


    $this->db->where('teacher_name_6 != ', '');
    $this->db->where('course_id', $course_id);
    $query_6 = $this->db->get('tbl_course_choice');
    $teacher_6_count = $query_6->num_rows();






 if ($teacher_2_count > 0 ) {
        $this->db->where('course_id', $course_id);
        $this->db->update('tbl_course_choice', $teacher_name_2);
        } elseif ($teacher_3_count > 0 ) {
        $this->db->where('course_id', $course_id);
        $this->db->update('tbl_course_choice', $teacher_name_3);
        } elseif ($teacher_4_count > 0 ) {
        $this->db->where('course_id', $course_id);
        $this->db->update('tbl_course_choice', $teacher_name_4);
        } elseif ($teacher_5_count > 0 ) {
        $this->db->where('course_id', $course_id);
        $this->db->update('tbl_course_choice', $teacher_name_5);
        } elseif ($teacher_6_count > 0 ) {
        $this->db->where('course_id', $course_id);
        $this->db->update('tbl_course_choice', $teacher_name_6);
        } else {
        $this->db->where('course_id', $course_id);
        $this->db->update('tbl_course_choice', $teacher_name_1);
        }
}

关于php - 如何将codeigniter事件记录放入if elseif语句中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22680385/

相关文章:

javascript - 我的 AJAX 调用不起作用

php - 按值更改 Mysql 组

mysql - 将 # 个结果合并在一起

php - codeigniter 选择查询问题

database - Codeigniter PDO 集成

javascript - CodeIgniter REST_Controller 初学者问题

php - 仅从 mySQL 中的特定日期获取行

mysql - 无法让 MySQL 识别主机名?

mysql - Hibernate和spring mvc中实体的双向映射

php - 无法使用 PHP 将大数组传递给 mySQL 数据库