2016-01-21 16 views
0

我正試圖將數據保存到兩個不同的表中。一個是用戶,另一個是組織。如何將數據從一步一步地保存在兩張不同的表格中?

現在我已經創建了一個組織形式,我有一些我想存儲在用戶表中的字段。

,我想在用戶表來存儲的字段有:

名字,姓氏,電子郵件,密碼

,我想這個插入記錄的ID存儲在一個名爲變量$ sales_id。

所以基本上首先我想從表單中的數據插入到用戶表,然後當我將我想用數據插入到表組織進行用戶後,即可獲取$ sales_id。所以我會使用sales_id變量。

形式:

<form role="form" action="" method="post" class="registration-form"> 

       <fieldset> 
        <div class="form-top"> 
         <div class="form-top-left"> 
          <h3>Step 1/3</h3> 
          <h3>Add A New Organization</h3> 
         </div> 
         <div class="form-top-right"> 
          <i class="fa fa-user"></i> 
         </div> 
        </div> 
        <div class="form-bottom"> 
         <div class="form-group"> 
          <?php echo validation_errors(); ?> 
      <?php echo form_open(); ?> 
     <?php echo form_input('org_name', set_value('org_name', $company->org_name),'placeholder="Organization name..."',' class="form-first-name form-control"'); ?> 

         </div> 
         <div class="form-group"> 
          <?php echo form_input('dba', set_value('dba', $company->dba),'placeholder="DBA"',' class="form-first-name form-control"'); ?> 
         </div> 

         <div class="form-group"> 
          <?php echo form_input('city', set_value('city', $company->city),'placeholder="City"',' class="form-first-name form-control"'); ?> 
         </div> 

         <div class="form-group"> 
          <?php echo form_input('pin', set_value('pin', $company->pin),'placeholder="Pin"',' class="form-first-name form-control"'); ?> 
         </div> 

         <div class="form-group"> 
          <?php echo form_input('state', set_value('state', $company->state),'placeholder="State"',' class="form-first-name form-control"'); ?> 
         </div> 

         <div class="form-group"> 
          <?php echo form_textarea('addr1', set_value('addr1', $company->addr1),'placeholder="Address"',' class="form-first-name form-control"'); ?> 
         </div> 
         <div class="form-group"> 
          <?php echo form_textarea('addr2', set_value('addr2', $company->addr2),'placeholder="Address 2"',' class="form-first-name form-control"'); ?> 
         </div> 
         <button type="button" class="btn btn-next">Next</button> 
        </div> 
       </fieldset> 




       <fieldset> 
        <div class="form-top"> 
         <div class="form-top-left"> 
          <h3>Step 2/3</h3> 
          <h3>Set up your Sales account:</h3> 
         </div> 
         <div class="form-top-right"> 
          <i class="fa fa-key"></i> 
         </div> 
        </div> 
        <div class="form-bottom"> 
         <div class="form-group"> 
          <?php echo form_input('first_name', set_value('first_name', $user->first_name),'placeholder="First name"',' class="form-first-name form-control"'); ?> 
         </div> 

         <div class="form-group"> 
          <?php echo form_input('last_name', set_value('last_name', $user->last_name),'placeholder="Last Name"',' class="form-first-name form-control"'); ?> 
         </div> 

         <div class="form-group"> 
          <?php echo form_input('email', set_value('email', $user->email),'placeholder="Email"',' class="form-first-name form-control"'); ?> 
         </div> 

         <div class="form-group"> 
          <?php echo form_password('password', set_value('password', $user->password),'placeholder="Password"',' class="form-first-name form-control"'); ?> 
         </div> 

         <button type="button" class="btn btn-previous">Previous</button> 
         <button type="button" class="btn btn-next">Next</button> 
        </div> 
       </fieldset> 
       <fieldset> 
        <div class="form-top"> 
         <div class="form-top-left"> 
          <h3>Step 3/4</h3> 
          <h3>Set up your Technical account:</h3> 
         </div> 
         <div class="form-top-right"> 
          <i class="fa fa-key"></i> 
         </div> 
        </div> 
        <div class="form-bottom"> 
         <div class="form-group"> 
          <?php echo form_input('first_name', set_value('first_name', $user->first_name),'placeholder="First name"',' class="form-first-name form-control"'); ?> 
         </div> 

         <div class="form-group"> 
          <?php echo form_input('last_name', set_value('last_name', $user->last_name),'placeholder="Last Name"',' class="form-first-name form-control"'); ?> 
         </div> 

         <div class="form-group"> 
          <?php echo form_input('email', set_value('email', $user->email),'placeholder="Email"',' class="form-first-name form-control"'); ?> 
         </div> 

         <div class="form-group"> 
          <?php echo form_password('password', set_value('password', $user->password),'placeholder="Password"',' class="form-first-name form-control"'); ?> 
         </div> 

         <button type="button" class="btn btn-previous">Previous</button> 
         <button type="button" class="btn btn-next">Next</button> 
        </div> 
       </fieldset> 





       <fieldset> 
        <div class="form-top"> 
         <div class="form-top-left"> 
          <h3>Step 4/4</h3> 
          <p>Social media profiles:</p> 
         </div> 
         <div class="form-top-right"> 
          <i class="fa fa-twitter"></i> 
         </div> 
        </div> 
        <div class="form-bottom"> 



         <div class="form-group"> 
          <?php echo form_input('tax_number', set_value('tax_number', $company->tax_number),'placeholder="Tax Number"',' class="form-first-name form-control"'); ?> 
         </div> 

          <div class="form-group"> 
          <?php echo form_input('comment', set_value('comment', $company->comment),'placeholder="Comment"',' class="form-first-name form-control"'); ?> 
         </div> 

          <div class="form-group"> 
          <?php echo form_input('url', set_value('url', $company->url),'placeholder="URL"',' class="form-first-name form-control"'); ?> 
         </div> 

         <button type="button" class="btn btn-previous">Previous</button> 
     <?php echo form_submit('submit', 'Save', 'class="btn btn-primary"','onClick="image()"'); ?> 

       <?php echo form_close();?> 
        </div> 
       </fieldset> 

            </form> 

而且控制器是:

public function add_company() 
    { 

     $this->data['company'] = $this->company_m->get_new(); 
     $this->data['user'] = $this->secure_m->get_new(); 
     //$rules = $this->company_m->rules_admin; 

     //$this->form_validation->set_rules($rules); 


     if ($this->form_validation->run() == TRUE) 
     { 

      $data = $this->company_m->array_from_post(array('org_name','dba','addr1','addr2','city','state','country','pin','sales_id','tech_id','tax_number','comment','url')); 




      $data_user = $this->user_m->array_from_post(array('first_name','last_name','email','password')); 






      $this->secure_m->save($data_user,$id); 
      $this->company_m->save($data, $id); 

      echo $this->db->last_query(); 
      //redirect('admin/company'); 

     } 
              // Load the view 
     $this->data['subview'] = 'admin/company/add'; 
     $this->load->view('admin/_layout_main', $this->data); 

    } 
+0

好吧,那麼...你的問題是什麼?您是要求我們爲您編寫代碼,還是您在某處遇到問題(如果有的話,錯誤是什麼)? – whrrgarbl

+0

@whrrgarbl我想知道如何將數據從單個表單保存到codeigniter中的兩個不同表中。併爲代碼只是給出一個基於我的代碼的想法,所以我可以繼續 – Rajan

+0

你到目前爲止嘗試過什麼?我不知道笨,但也有半打,這樣顯示出來時,我谷歌「笨兩個表中的數據保存」,也許他們會幫助你的問題。 – whrrgarbl

回答

1

我們怎樣才能挽救單一形式的數據,在笨兩個不同的表,所以這裏是一個簡單的教程,我希望這會有所幫助。

控制器

class Form extends CI_Controller { 

    function index() 
    { 
     $this->load->library('form_validation'); 
     $config = array(
      array(
       'field' => 'username', 
       'label' => 'Username', 
       'rules' => 'trim|required' 
      ), 
      array(
       'field' => 'password', 
       'label' => 'Password', 
       'rules' => 'trim|required|md5' 
      ), 
      array(
       'field' => 'org_name', 
       'label' => 'Organization name', 
       'rules' => 'trim|required' 
      ), 
      array(
       'field' => 'org_city', 
       'label' => 'City', 
       'rules' => 'trim|required' 
      ) 
     ); 

     $this->form_validation->set_rules($config); 
     if ($this->form_validation->run() == FALSE) 
     { 
      $this->load->view('myform'); 
     } 
     else 
     { 
      $this->load->model('User_model'); 
      $user = new User_model(); 
      $user->username = $this->input->post('username'); 
      $user->password = $this->input->post('password'); 
      $user->save(); 

      $this->load->model('Organization_model'); 
      $organization = new Organization_model(); 
      $organization->user_id = $user->id; 
      $organization->name = $this->input->post('org_name'); 
      $organization->city = $this->input->post('org_city'); 
      $organization->save(); 
     } 
    } 
} 

HTML表單

<?php echo validation_errors(); ?> 
<form action="" method="post"> 
    <input type="text" name="username"> 
    <input type="password" name="password"> 

    <input type="text" name="org_name"> 
    <input type="text" name="org_city"> 

    <input type="submit" name="submit" value="submit"> 
</fom> 

用戶模型

class User_model extends CI_Model { 

    const DB_TABLE = 'user'; 

    public $id; 
    public $username; 
    public $password; 

    public function save() 
    { 
     $data = array(
      'username' => $this->username, 
      'password' => $this->password 
     ); 

     $this->db->insert($this::DB_TABLE, $data); 
     $this->id = $this->db->insert_id(); 
    } 

} 

組織模型

class Organization_model extends CI_Model { 

    const DB_TABLE = 'organization'; 

    public $id; 
    public $user_id; 
    public $name; 
    public $city; 

    public function save() 
    { 
     $data = array(
      'user_id' => $this->user_id, 
      'name' => $this->name, 
      'city' => $this->city 
     ); 

     $this->db->insert($this::DB_TABLE, $data); 
     $this->id = $this->db->insert_id(); 
    } 

} 
+0

這真的apprecicated Massod謝謝,我會嘗試這 – Rajan

相關問題