使用codeigniter传递下拉字符串值

时间:2016-02-12 08:17:55

标签: php mysql codeigniter

我是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);?>

请帮助我,因为我被卡住了......

enter image description here

这就是你需要的吗?

<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>

1 个答案:

答案 0 :(得分:0)

看到这个

 <select name="agama" id="agama">
    <option value="1">store 1</option>
    <option value="2">store 2</option>
    </select>

在此代码中,当我们将值发布到控制器时,我们得到值1或2。 你的问题也是如此。你可以用两种方式做到这一点。 一个就是那个。当你获得id时,你可以编写一个模型查询来查找该id的名称。 否则,您可以在下拉列表中将选项值设置为值