我是codeigniter的新手,我制作了一个包含三个下拉列表的Web应用程序。我的问题是,当我现在保存到数据库时,保存了id而不是下拉列表中的值。这是下拉列表的模型代码:
function get_store()
{
$this->db->select('ID');
$this->db->select('StoreName');
$this->db->from('store');
$query = $this->db->get();
$result = $query->result();
// array to store id and storename
$id = array('-SELECT-');
$storename = array('-SELECT-');
for($i = 0;$i < count($result);$i++)
{
array_push($id,$result[$i]->ID);
array_push($storename,$result[$i]->StoreName);
}
return $store_result = array_combine($id,$storename);
}
function get_supplier()
{
$this->db->select('ID');
$this->db->select('SupplierName');
$this->db->from('supplier');
$query = $this->db->get();
$result = $query->result();
// array to store id and storename
$id = array('-SELECT-');
$suppliername = array('-SELECT-');
for($i = 0;$i < count($result);$i++)
{
array_push($id,$result[$i]->ID);
array_push($suppliername,$result[$i]->SupplierName);
}
return $supplier_result = array_combine($id,$suppliername);
}
function get_operation()
{
$this->db->select('ID');
$this->db->select('OperationName');
$this->db->from('operation');
$query = $this->db->get();
$result = $query->result();
// array to store id and storename
$id = array('-SELECT-');
$operationname = array('-SELECT-');
for($i = 0;$i < count($result);$i++)
{
array_push($id,$result[$i]->ID);
array_push($operationname,$result[$i]->OperationName);
}
return $operation_result = array_combine($id,$operationname);
}
这是我使用的控制器中的代码:
$data['store'] = $this->wip_model->get_store();
$data['suppliersname'] = $this->wip_model->get_supplier();
$data['operation'] = $this->wip_model->get_operation();
这就是我在视图中使用它的方式:
<?php $attributes = 'class="form-control" id="store"';
echo form_dropdown('store',$store,set_value('store',$store),$attributes);?>
请帮助我,因为我被卡住了......
这就是你需要的吗?
<div class="form-group">
<label>Store Name</label>
<?php $attributes = 'class="form-control" id="store"';
echo form_dropdown('store',$store,set_value('store',$store),$attributes);?>
<span class="text-danger"><?php echo form_error('store');?></span>
</div>
答案 0 :(得分:0)
看到这个
<select name="agama" id="agama">
<option value="1">store 1</option>
<option value="2">store 2</option>
</select>
在此代码中,当我们将值发布到控制器时,我们得到值1或2。 你的问题也是如此。你可以用两种方式做到这一点。 一个就是那个。当你获得id时,你可以编写一个模型查询来查找该id的名称。 否则,您可以在下拉列表中将选项值设置为值