2016-06-22 3 views
-1

В моем коде после нажатия кнопки отправки данные формы не вставляются в базу данных. и даже сообщение об ошибке. но проверки работоспособны. , и я хочу добавить несколько данных в одну строку. Как я могу это сделать. любой может помочь мне. Спасибо.Данные Не вставляются в базу данных в codeigniter

это мой взгляд

<!--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... 
); 

Plus, что quentity? У вас этого нет в вашей HTML-форме.

+0

получил это marc. Я попробую. Спасибо. «quentity» - орфографическая ошибка. Это должно быть количество. я починю это. – ashik

+1

@Abdulla: 'quentity! = Количество'. –

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

Примечание: Будьте осторожны с именами входных.

+0

thank u abdulla – ashik