我需要创建一个具有下拉列表以选择记录的表单,并且当单击提交按钮时可以编辑。 一切正常,只是按钮没有得到选定的ID。
以下是我的表单截图:
<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']." } →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 :(得分: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']