[英]how to save data from step by step form in two different tables?
我正在嘗試將數據保存到兩個不同的表中。 一個是用戶,另一個是組織。
現在,我有一個表單,可以在該表單中創建組織,我有一些字段要存儲在users表中。
我要存儲在用戶表中的字段是:
名字,姓氏,電子郵件,密碼
我想將此插入的記錄的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);
}
我們如何將數據從單一表單保存到codeigniter中的兩個不同表中,所以這是一個簡單的教程,希望對您有所幫助。
控制者
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();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.