私はCodeigniterを使用して小さなアプリケーションを作成しており、それまでにいくつかの問題にぶつかっています!私は、dbテーブルから値が入っているドロップダウンリストを持っています。ドロップダウンは読み込まれ、正しく表示されますが、内容(値)を新しいdbテーブルに保存しようとすると、表示される値ではなくドロップダウンリストの位置が保存されます。ビューでフォームのCodeIgniter - リストの位置を値ではなくdbに渡す
パート:
<?php echo form_open('manage/create_sold_vehicle_record'); ?>
Registration Number
<br>
<?php echo form_dropdown('reg_no', $vehicle_list, 'large'); ?>
コントローラの関連部分:
function sell_vehicle()
{
$this->load->helper('form');
$this->load->helper('url');
$id = $this->uri->segment(3);
$this->load->model('MVehicle','',TRUE);
$this->load->model('manage_model','',TRUE);
$vehicles_qry = $this->MVehicle->listSaleVehicles();
$vehicle_list = array();
foreach ($vehicles_qry->result() as $vehicle)
{
$vehicle_list[] = $vehicle->reg_no;
}
$data['vehicle_list'] = $vehicle_list;
$data['main_content'] = 'sell_stock_vehicle';
$this->load->view('includes/template', $data);
}
これはモデルです:
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;
}
そうではなく、例えば'OU03XHC'をdbのreg_no値として保存すると、 '1'を保存しています(またはドロップダウンリストに値の位置があったとしても) 。
$vehicle_list = array();
foreach ($vehicles_qry->result() as $vehicle)
{
$vehicle_list[$vehicle->reg_no] = $vehicle->reg_no;
}
次にドロップダウンHTMLに()もオプション値生成(0,1以外、など。)form_dropdown
こんにちは、そこに、ありがとうございました。 –
残念ながら私は2人の他のスタッフと顧客を持っていて、同じことをしてもこれらのことはうまくいかないようです... \t \t
なぜでしょうか?ありがとう。 –スタッフと顧客のためにform_dropdown()によって作成されたhtmlをチェックします。 'value'とは何ですか? – Vickel