我有一个表单,其中有两个字段:“product_name”和“product_q”,在我的表单中,我可以选择增加product_name
和product_q
<select name="product_name[]" id="product_name">
<option value="please select"></option>
<option value="1">demo1</option>
<option value="2">demo2</option>
</select>
<select name="product_q[]" id="product_q">
<option value="please select"></option>
<option value="1">1</option>
<option value="2">2</option>
</select>
和
之类的操作页面 public function order(){
$Product_q = $this->input->post('quantity');
$sponserid = $this->session->userdata('number');
$pname['product_name'] = $this->input->post('product_name');
foreach($Product_q as $key => $value){
$data['Product_q'] = $value;
$data['Product_Name'] = $pname['product_name'][$key];
$this->mymodel->insert_items($data);
}
和我的模特
function insert_items($data){
$this->db->insert("lucky_order", $data);
return;
}
请帮助插入数据库我的表单如下:
答案 0 :(得分:0)
我们不能将数组直接插入数据库,所以在将数据插入数据库之前我们需要将数组编码为json。您可以按照<?php json_encode($data); ?>
进行操作
然后你想要获取这些数据然后你可以使用以下方法<?php json_decode($data); ?>
答案 1 :(得分:-1)
你可以试试这个:
<select name="product_name[]" class="product_name">
<option value="please select"></option>
<option value="1">demo1</option>
<option value="2">demo2</option>
</select>
<select name="product_q[]" class="product_q">
<option value="please select"></option>
<option value="1">1</option>
<option value="2">2</option>
</select>
<input type="hidden" name="product_count" value="1" />
You have to increment /decrement the product_count value on addition
or removal or product
控制器:
loop your function in model for inserting into database
对于product_count的次数 以及使用$ key的每个值 像这样的东西:
for ($i=0; $i<$_POST['product_count']; $i++){
通过使用上面$ i变量传递每个值来调用insert函数。 喜欢
$_POST['product_name'][$i];
this will get you your first product name similarly for all
and you can call the model function and pass the above values each
time with incremented value of $i