Php CodeIgniter-下拉菜单将列表中的位置传递给db而不是值
我正在使用Codeigniter编写一个小应用程序,到目前为止遇到了一些问题!我有一个从db表填充的下拉列表。下拉列表已填充并正确显示。但是,当我尝试将其内容(值)保存到新的db表时,它保存的是下拉列表中的位置,而不是显示的值 视图中表单的一部分:Php CodeIgniter-下拉菜单将列表中的位置传递给db而不是值,php,codeigniter,dropdown,Php,Codeigniter,Dropdown,我正在使用Codeigniter编写一个小应用程序,到目前为止遇到了一些问题!我有一个从db表填充的下拉列表。下拉列表已填充并正确显示。但是,当我尝试将其内容(值)保存到新的db表时,它保存的是下拉列表中的位置,而不是显示的值 视图中表单的一部分: <?php echo form_open('manage/create_sold_vehicle_record'); ?> Registration Number <br> <?php e
<?php echo form_open('manage/create_sold_vehicle_record'); ?>
Registration Number
<br>
<?php echo form_dropdown('reg_no', $vehicle_list, 'large'); ?>
这就是模型:
function create_sold_vehicle_record()
{
$new_vehicle_insert_data = array(
'reg_no' => $this->input->post('reg_no'), <-- This is saved to db, but is the position in dropdown list, not the value shown.
'sold_by' => $this->input->post('staff'),
'bought_by' => $this->input->post('customer'),
'sale_price' => $this->input->post('sale_price'),
'comm_rate' => $this->input->post('comm_rate'),
'total_comm' => $this->input->post('total_comm'),
'sale_date' => $this->input->post('date')
);
$insert = $this->db->insert('sold_vehicles', $new_vehicle_insert_data);
return $insert;
}
函数创建售出车辆记录()
{
$new\u vehicle\u insert\u data=数组(
“注册号”=>$this->input->post('注册号'),$this->input->post('staff'),
'购买人'=>this->input->post('customer'),
“销售价格”=>$this->input->post('sale\u price'),
“通信速率”=>this->input->post(“通信速率”),
'total_comm'=>this->input->post('total_comm'),
“销售日期”=>this->input->post('date')
);
$insert=$this->db->insert('salled_vehicles',$new_vehicles_insert_data);
返回$insert;
}
因此,它不是将“OU03XHC”保存为db中的reg_no值,而是保存“1”(或下拉列表中该值的任何位置)。
$vehicle\u list[]
需要是一个关联数组
$vehicle_list = array();
foreach ($vehicles_qry->result() as $vehicle)
{
$vehicle_list[$vehicle->reg_no] = $vehicle->reg_no;
}
现在,form_dropdown()还会在下拉列表html中生成选项值(0、1等除外)
$vehicle_list[]
需要是一个关联数组
$vehicle_list = array();
foreach ($vehicles_qry->result() as $vehicle)
{
$vehicle_list[$vehicle->reg_no] = $vehicle->reg_no;
}
现在,form_dropdown()还会在下拉html中生成选项值(除0、1等外)Replace
$vehicle_list = array();
foreach ($vehicles_qry->result() as $vehicle)
{
$vehicle_list[] = $vehicle->reg_no;
}
到
“$vehicle->reg_value”可验证是您要存储在数据库中的值
$vehicle_list = array();
foreach ($vehicles_qry->result() as $vehicle)
{
$vehicle_list[] = $vehicle->reg_no;
}
到
“$vehicle->reg_value”veriable是您希望存储在数据库中的值您好-谢谢,它对reg_no字段非常有效!不幸的是,我还有另外两个人,员工和客户,同样的做法似乎不适用于这些…$staff\u qry=$this->manage\u model->listStaff();$staff_list=array();foreach($staff_qry->result()as$staff){$staff_list[$staff->lname]=$staff->lname;}你知道为什么会这样吗?谢谢。检查表单_dropdown()为员工和客户创建的html,什么是“值”?下拉列表正确显示db表内容(这是您的意思吗?-对不起)-写入新表的员工和客户值仅为0(零)。Thx.请检查您的第二个下拉列表,它应该是这样的:您好,谢谢您的帮助,它对注册号字段非常有效!不幸的是,我还有另外两个人,员工和客户,同样的做法似乎不适用于这些…$staff\u qry=$this->manage\u model->listStaff();$staff_list=array();foreach($staff_qry->result()as$staff){$staff_list[$staff->lname]=$staff->lname;}你知道为什么会这样吗?谢谢。检查表单_dropdown()为员工和客户创建的html,什么是“值”?下拉列表正确显示db表内容(这是您的意思吗?-对不起)-写入新表的员工和客户值仅为0(零)。Thx.请查看您的第二个下拉列表,应该是: