如何编辑从数据库中获取的多个选择值

时间:2017-12-03 06:36:03

标签: php jquery ajax database codeigniter

我正在努力寻找一种方法来编辑从数据库中提取的多选值。

有3个表供应商(supplier_Id,supplier_name,location等等),材料(material_id,material_name)和 supplier_material (id,supplier_id,material_id)。 在这种关系中,供应商可以拥有多种材料。

例如,supplier_A有木材和钢材。我想把它改成木头或添加纤维,所以我有3种材料..我可以在带有选择值的php的页面中查取和查看它,但是我不能改变它们或添加更多

这是我的控制者:

public function edit_supplier($sup_id) {
    $data['data_material'] = $this->dashboard_model->get_material_list();
    $data['data_location'] = $this->dashboard_model->get_location_list();
    $data['edit_supplier'] = $this->dashboard_model->m_edit_supplier($sup_id);
    $data['main_content'] = 'supplier/edit_supplier';
    $this->load->view('includes/template', $data);
}

模特:

public function m_edit_supplier($sup_id) {
        $this->db->select(
            'a.supplier_id, a.supplier_code, a.owner, a.company, d.location, 
            GROUP_CONCAT(c.material ORDER BY c.material) AS material_list');
        $this->db->from('supplier a');
        $this->db->join('supplier_material b', 'a.supplier_id = b.supplier_id');
        $this->db->join('material c', 'c.material_id = b.material_id');
        $this->db->join('location d', 'd.location_id = a.location_id');
        $this->db->where('a.supplier_id', $sup_id);
        $query = $this->db->get();
        return $query;
    }

观点:

<?php
foreach($edit_supplier->result() as $sup) :
?>
<!-- Select Material-->
              <div class="form-group">
                <?php echo form_error('material[]'); ?>
                <label class="col-sm-2 control-label" for="inputMaterial">Material</label>
                <div class="col-sm-10">
                  <select id="material" class="ajax-example form-control input-sm" id="inputMaterial" multiple="multiple" name="material[]">
                    <?php 
                      foreach($data_material->result() as $row) :
                        $material = explode(',',  $sup->material_list); 
                    ?>
                    <option
                      value="<?php echo $row->material_id; ?>"
                      <?php foreach($material as $mat) {

                        if($row->material == $mat) {
                          echo  'selected ' . ' style="color:#FFFFFF;background-color:#0078D7;"';
                        }
                      }
                      ?>
                    ><?php echo($row->material) ; ?></option>
                  <?php endforeach; ?>

                </select>
                </div>

              </div>

我可以使用jquery ajax查看材料的多选下拉列表,但我不知道如何比较数据库中的选定值。

0 个答案:

没有答案