2015-10-19 140 views
1

我需要制作一个有下拉选择记录的窗体,并且当点击提交按钮可以编辑时。 一切工作正常,只是按钮没有得到选定的ID。codeigniter表单提交所选下拉值

这里是我的表格截图:

enter image description here

查看:

<form action="<?php echo base_url();?>admin/edit_instrumento; ?>" method="post" id="instrumentos_form"> 
    <div class="col-lg-12 well"> 
    <div class="form-group"> 
     <div class="form-inline"> 
     <div class="form-group"> 
      <div class="formSep"> 
      <p><span class="label label-default">Selecione Usuário</span></p> 
      <div class=""> 
       <div class="col-sm-12 col-md-12"> 
       <select class="uni_style" name="nome" id="user_drop"> 
       <option value="">Selecione</option> 
       <?php foreach($users as $member){ ?> 
        <option value="<?php echo $member->user_id; ?>"><?php echo $member->nome; ?></option> 
       <?php } ?> 
       </select> 
       </div> 
      </div> 
      </div> 
      </div> 
      <div class="form-group"> 
       <div class="formSep"> 
       <p><span class="label label-default">Selecione o Tag</span></p> 
      <div class=""> 
       <div class="col-sm-12 col-md-12"> 
       <select class="uni_style" name="tag" id="tag_drop" > 
        <option value="">Selecione</option> 
        <?php 
        $sl_class=$row['instrumento_id']; 
        ?> 
        <?php foreach($instrumentos as $instrumento){ ?> 
        <option value="<?php echo $instrumento['instrumento_id']; ?>"><?php echo "Tag: { ". $instrumento['tag']." }  &#8594;Instrumento: { ". $instrumento['instrumento_nome']." }"; ?></option> 
        <?php } ?> 
       </select> 
       </div> 
      </div> 
      </div> 
     </div> 
     </div> 
     <hr class="hrmag"/> 
     <div class="pull-right"> 
     <p><input class="btn btn-primary" type="submit" name="submit" value="Editar" /></p> 
     </div><br/> 
    </div> 
    </div> 
</form> 

控制器:

public function instrumento($instrumento_id){ 
    $posts = $this->input->post(); 
    $lista = $this->instrumento_model->get_instrumento($instrumento_id); 
    $html=""; 
    foreach ($lista as $k => $v) { 
     $html.= '<option value="'.$v['instrumento_id'].'">'.$v['instrumento_nome'].'</option>'; 
    } 
    echo $html; 
} 
function edit_instrumento($instrumento_id){ 
    $data['success']=0; 
    if($_POST){ 
    $data_post = array(
     'user_id'   => $_POST['nome'], 
     'instrumento_nome'  => $_POST['instrumento_nome'] 
    ); 
    $this->instrumento_model->update_instrumento($instrumento_id,$data_post); 
    $data['success']=1; 
    $this->load->view('admin/edit_instrumento',$data); 
    redirect(base_url().'admin/h'); 
    } 
    $data['instrumento']=$this->instrumento_model->get_instrumento($instrumento_id); 
    $this->load->view('admin/edit_instrumento',$data); 
} 

型号:

function get_instrumentos(){ 
    $this->db->select('*'); 
    $this->db->from('instrumentos'); 
    $this->db->join("users", "users.user_id = instrumentos.user_id",'inner'); 
    $query = $this->db->get(); 
    return $query->result_array(); 
} 
function get_instrumento($instrumento_id){ 
    $this->db->select()->from('instrumentos')->where(array('instrumento_id'=>$instrumento_id)); 
    $query=$this->db->get(); 
    return $query->first_row('array'); 
} 
function update_instrumento($instrumento_id,$data){ 
    $this->db->where('instrumento_id',$instrumento_id); 
    $this->db->update('instrumentos',$data); 
} 

回答

0

你正在服用错岗位价值

鉴于其tag

<select class="uni_style" name="tag" id="tag_drop" > 
在控制器

instrumento_nome

'instrumento_nome'  => $_POST['instrumento_nome'] 

这是错误的,在这两个地方使用相同的名称。

解决方案

要么改名看来,

name="instrumento_nome" and in controller use as $_POST['instrumento_nome'] 

or 

name="tag" and in controller use as $_POST['tag'] 
+0

你好,是的,我刚tryng但它无论如何都不会工作,你可以认为它是instrumento_nome becaue它甚至没有工作这个。 问题是,Editar底部无法获取我选择的instrumento_id。 –

+0

你有没有改变这两个地方?鉴于以及控制器? –

+0

是的,下拉得到他的数据已经与JS所以没有问题。 我需要的是,从下拉列表中选择并按下底部“editar”后,我可以编辑其他表格。 –