2014-09-17 4 views
0

저는 codeigniter를 처음 접했고 mysql 데이터베이스에 정보를 삽입하는 것에 대해 묻고 싶은 질문이 있습니다. 저는 home.php 컨트롤러가 있습니다. 여기에서 모델을 통해 데이터베이스에서 데이터를 가져올 수 있습니다 내가 만든, 새싹 반대로 - 내 데이터베이스에 데이터를 삽입, 나는 그것을 할 수 없습니다. 그래서, 나는 컨트롤러 함수 -> insertData, VIEW -> viewInserts를 호출하고,이 VIEW에서 나는 insert data를 가져 와서 그것을 데이터베이스로 리다이렉트하고자하는 곳을 가지고있다. 당신이 그것에 대해 나를 도울 수 있습니까? 이 작업을 트리거하고 VIEW에 전달하는 MODEL을 만들고 싶지만 지금은 로직에 대해 혼동하고 있습니다. insert_batch() 함수로 처리합니까?Codeigniter 데이터베이스 삽입 데이터

+1

https://ellislab.com/codeigniter/user-guide/database/active_record.html –

답변

0
Very simple 
    1. call view from controller 
    2. submit form 
    3. save data in db or send to data in model here can add data 

1. Controller test.php 

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 
class test extends CI_Controller { 

    public function __construct() 
    { 
     parent::__construct(); 

     $this->load->helper(array('form', 'url')); 
     $this->load->library('form_validation'); 
    } 
    public function add()  
    { 
      $this->load->view('test'); 
    } 
    public function save() 
    { 
     //write form validation 
     $this->form_validation->set_rules('fname','First Name','required|min_length[3]'); 
     $this->form_validation->set_rules('lname','Last Name','required|min_length[3]'); 

     if ($this->form_validation->run() == FALSE) { 
      //error in validation redirect to form 
      $this->add(); 
     } 
     else { 

      $fname = $this->input->post('fname'); 
      $lname = $this->input->post('lname'); 

      $insertData = array ('fname'=> $fname, 
           'lname'=>$lname); 

      //save data using model function or save data directly here 
      /* 
      $this->load->model('test_model'); 
      $this->test_model->insertRecord($insertData); 
      */ 

      $this->db->insert('testtbl',$insertData); 
      redirect(base_url().'add');  
     } 
    } 
}?> 

2. view test.php 

<form id="testFrm" name="testFrm" action="<?php base_url().?>test/save" method="post"> 
    <input type="text" id="fname" name="fname" value="<?php set_value('fname');?>" > 
    <input type="text" id="lname" name="lname" value="<?php set_value('lname');?>" > 
    <input type="submit" id="subBtn" name="subBtn" value="Save" > 
</form> 


3. Model test_model.php 

<?php 
if (!defined('BASEPATH'))exit('No direct script access allowed'); 

class Test_Model extends CI_Model { 

    function insertRecord($insertData) { 
     $this->db->insert('testtbl',$insertData); 
    } 
} 
?> 
관련 문제