2017-04-06 12 views
1

部門別ドロップダウンボックスから部門を選択した後にwhoom-to-meetドロップダウンボックスを作成したいが、部門リストをクリックするとすべての部門が表示されるこの部門の関連する従業員が誰から対面するドロップダウンリストに表示されていないかを選択します。以下は私の2つのテーブルです。 部門表最初のドロップダウンに応じてドロップダウンに値を設定する

+----+-----------+ 
| id | dept_name | 
+----+-----------+ 
| 2 | hr  | 
+----+---------- + 

user_masterテーブル

+----+-------------+-----------+----------+ 
| id | emp_name | dept_id | type | 
+----+-------------+-----------+----------+ 
| 1 | dipti  |  2  | employee | 
+ ---+-------------+-----------+----------+ 

私のコントローラ

public function create_pass() { 
    $pageid = 1; 
    $data['hh'] = $this->admin_model->get_dept(); 
    $this->load->view('header'); 
    $this->load->view('sidebar'); 
    $this->load->view('createpass', $data); 
    $this->load->view('footer'); 
} 

public function select_item_by_dept() { 
    if ($this->session->userdata('admin_logged_in')) { 
     $category_id = $this->input->post('category_id'); 
     $data['result'] = $this->admin_model->select_item_by_cat($category_id); 

     $HTML = "";    
     foreach ($data['result'] as $list) { 
      $HTML.="<option value='" . $list['dept_id'] . "'>" . $list['emp_name'] . "</option>"; 
     }   
     echo $HTML; 
    } else { 
     $this->load->view('login'); 
    } 
} 

私のモデル

function select_item_by_cat($category_id) { 
    $this->db->where('dept_id', '$category_id'); 
    $query = $this->db->get('user_master'); 
    return $query->result_array(); 
} 
function get_dept() { 
    $this->db->select("*"); 
    $this->db->from('department'); 
    $query = $this->db->get(); 
    return $query->result_array(); 
} 

私の見解

<div class="form-group"> 
    <label for="inputPassword3" class="col-sm-3 control-label">Department to go </label> 
    <div class="col-sm-3"> 
    <select class="form-control select2" name="dptgo" id="dptogo" onchange="change_category(this.options[this.selectedIndex].value)" style="width: 100%;"> 
     <option selected="selected">Select</option>              
     <?php foreach($hh as $datas) 
     { ?> 
     <option value="<?php echo $datas['id']; ?>"><?php echo $datas['dept_name']; ?></option> 
<?php } ?> 
    </select> 
    <div class="text-danger"><?php echo form_error('dptgo'); ?></div> 
    </div> 
    <label for="inputPassword3" class="col-sm-2 control-label">Whom to Meet</label> 
    <div class="col-sm-4"> 
    <select class="form-control select2" id="whomtmt" name="wtomeet" style="width: 100%;"> 
     <option selected="selected">Select</option> 
     <option></option> 
    </select> 
    </div> 
</div> 

私のjqueryの

<script> 
    function change_category(category_id) { 
    if (category_id == "Select") { 
     $("#whomtmt").html("<option>Select</option>"); 
     $("#whomtmt").trigger("chosen:updated"); 
     $("#whomtmt").trigger("liszt:updated"); 
    } else { 
     loadData(category_id); 
    } 
    } 
    function loadData(category_id) { 
    var dataString = 'category_id=' + category_id; 
    $.ajax({ 
     type: "POST", 
     url: "<?php echo site_url(); ?>/admin/select_item_by_dept", 
     data: dataString, 
     cache: false, 
     success: function (result) { 
     $("#whomtmt").html("<option>Select</option>"); 
     $("#whomtmt").append(result); 
     $("#whomtmt").trigger("chosen:updated"); 
     $("#whomtmt").trigger("liszt:updated"); 
     } 
    }); 
    } 
</script> 
お使いのモデルで

答えて

1

、select_item_by_cat機能

で、これはクエリはこの

SELECT * FROM `user_master` WHERE `dept_id` = '$category_id' 

のように実行されるので、

$this->db->where('dept_id', $category_id); 

に変更し、それはあなたを助けすることができますしてみてください

$this->db->where('dept_id', '$category_id');間違っています:)

+0

最後のクエーカーを確認できますこのエコー$ this-> db-> last_query()を配置することによってy;出口(); return $ query-> result_array();の前に戻ります。 '$ category_id'を$ category_idに変更した後、select_item_by_cat() – Nobita

+0

で正常に機能しています。ご協力いただきありがとうございます。 – dipti

関連する問題