在我的代码中单击提交按钮后,表单数据不会插入到数据库中。甚至没有错误信息。但验证效果很好。 我想在一行中添加多个数据。我可以做到这一点。 任何人都可以帮助我。谢谢。
这是我的观点
<!--form open-->
<?php
$data = array(
'id' => 'frmadd',
'class' => 'form-inline',
'role' => 'form',
);
echo form_open('boq_controller/create', $data )
?>
<!--text box-->
<td><input type="text" name="work_product_id" class="form-control" id="work_product_id" placeholder="" style="width:40px;" ></td>
<td><input type="text" name="work_item_description" class="form-control" id="work_item_description" placeholder="" style="width:250px;"></td>
<td><input type="text" name="quantity" id="" class="form-control val1" style="width:50px;" /></td>
<td><select style=" height: 28px; width: 70px; border-radius: 2px;" name="unit" >
<option value="" selected> </option>
<option value="cube">cube</option>
<option value="sq.ft">sq.ft</option>
<option value="Cwts">Cwts</option>
<option value="Gal" >Gal</option>
</select></td>
<td><input type="text" name="rate" class="form-control val2" style="width:60px;"/></td>
<td><input type="text" name="laboure_hrs" id="" class="form-control val3" style="width:60px;"/></td>
<td><input type="text"name="laboure_cost" id="" class="form-control val4" style="width:60px;"/></td>
<td><input type="text" name="others" class="form-control" id="others" placeholder="" style="width:230px;"></td>
<!--text box-->
div class="form-group">
<input type="submit" class="btn btn-success" id="btn btn-success" value="submit">
</div>
<?php
echo form_close();
?>
<!--form_close-->
这是模型
class Boq_model extends CI_Model {
public function create(){
$data= array(
$qty=$this->input->post('quentity'),
$rate=$this->input->post('rate'),
$laboure_hrs=$this->input->post('laboure_hrs'),
$laboure_cost=$this->input->post('laboure_cost')
);
$this->db->insert('boq', $data);
echo'<div class="alert alert-success">One record inserted Successfully</div>';
exit;
}
// print_r($data);
// die();
}
这是控制器
class Boq_controller extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('boq_model');
$this->load->library('form_validation');
}
public function create(){
// validate fields
// $this->form_validation->set_rules('work_product_id', 'Work Product Id', 'required');
// $this->form_validation->set_rules('work_item_description', 'Work Item Description', 'required');
$this->form_validation->set_rules('quantity', 'Quantity', 'required');
$this->form_validation->set_rules('rate', 'Rate', 'required|numeric');
$this->form_validation->set_rules('laboure_hrs', 'Laboure Hrs', 'required|numeric');
$this->form_validation->set_rules('laboure_cost', 'Laboure Cost', 'required|numeric');
if ($this->form_validation->run() == FALSE){
echo'<div class="alert alert-danger">'.validation_errors().'</div>';
exit;
}
else{
$this->boq_model->create();
// echo print_r($data);
// die();
}
}
}
答案 0 :(得分:4)
这很不可思议:
$data= array(
$qty=$this->input->post('quentity'),
$rate=$this->input->post('rate'),
$laboure_hrs=$this->input->post('laboure_hrs'),
$laboure_cost=$this->input->post('laboure_cost')
);
你在数组中进行变量赋值,这意味着数组将只相当于
$data = array(0,1,2,3);
没有CI的任何字段名称,无法知道值应该包含哪些字段。
也许你的意思更像是
$data = array(
'qty' => $this->input->post('quantity')
etc...
);
另外,quentity
是什么?您无法在任何地方使用HTML表单。
答案 1 :(得分:3)
插入功能错误
$data = array(
'qty' => $this->input->post('quantity'),
'rate' => $this->input->post('rate'),
'laboure_hrs' => $this->input->post('laboure_hrs'),
'laboure_cost' => $this->input->post('laboure_cost')
);
$this->db->insert('boq', $data);
Inserting Data in codeigniter.com
注意:请注意输入名称。