[英]angularjs - How to save data into two tables simultaneously
我有一个表格,其中包含员工的详细信息,包括基本信息和教育信息。 如何在一个表中保存基本详细信息,在另一个表中保存教育详细信息?
形式如下。
<form name="empdetailsform">
<h3>BASIC DETAILS</h3>
<label>First Name</label>
<input type="text" name="firstname" data-ng-model="empData.firstname"/></br>
<label>Last Name</label>
<input type="text" name="lastname" data-ng-model="empData.lastname" /></br>
<label>Email</label>
<input type="email" name="email" data-ng-model="empData.email"/></br>
<label>Mobile</label>
<input type="text" name="mobile" data-ng-model="empData.mobile"/></br>
<label>City</label>
<select name="city" data-ng-model="empData.city" >
<option value="Hyderabad">Hyderabad</option>
<option value="Bangalore">Bangalore</option>
<option value="Chennai">Chennai</option>
</select><br>
<h3>Educational Details</h3>
<button ng-click="addfield()">Add Education</button>
<div ng-repeat="item in items">
<input type="text" name="empData.qualification[]" placeholder="Qualification">
<input type="text" name="empData.year[]" placeholder="Year of Passing">
<input type="text" name="empData.percentage[]" placeholder="Percentage">
</div>
<input type="submit" name="submit" ng-click="saveEmp()" />
</form>
我想将基本详细信息保存在employee
表中,并将教育详细信息保存在educational_details
表中。 为此,我使用angular js和php完成了以下编码
这是我的ajax.php
代码,其中保存了基本详细信息
if( isset($_POST['type']) && !empty($_POST['type'] ) ){
$type = $_POST['type'];
switch ($type) {
case "save_user":
save_user($mysqli);
break;
default:
invalidRequest();
}
}else{
invalidRequest();
}
function save_user($mysqli){
$firstname=$_POST['user']['firstname'];
$lastname=$_POST['user']['lastname'];
$email=$_POST['user']['email'];
$mobile=$_POST['user']['mobile'];
$city=$_POST['user']['city'];
$query = "INSERT INTO employees ( firstname, lastname, email, mobile, city) VALUES ('$firstname', '$lastname', '$email', '$mobile', '$city')";
$mysqli->query( $query );
$mysqli->close();
}
我已经成功保存了基本详细信息。 但是我不知道如何将教育详细信息保存在employee表中包含的另一个表中。
如果用户输入3个教育详细信息,则3个数据必须保存在3个记录中,即数据库中的3行。 如何使用angularjs和php执行此操作?
这是jsFiddle链接http://jsfiddle.net/b0jtqzpj/
请帮我
如果angular已经发布了所有插入物所需的所有详细信息,则可以添加另一个函数来设置不同的插入物,并在收到该插入物类型时调用每个插入物。 除非angular没有发送所有必需的数据,否则所有这些都应在服务器上完成,在这种情况下,后期处理请求将需要进行调整。
在服务器上,代码将类似于以下内容:
if( isset($_POST['type']) && !empty($_POST['type'] ) ){
$type = $_POST['type'];
switch ($type) {
case "save_user":
save_user($mysqli);
save_details($mysqli);
break;
default:
invalidRequest();
}
}else{
invalidRequest();
}
function save_user($mysqli){
$insert_sql = $mysqli->prepare("INSERT INTO employees ( firstname, lastname, email, mobile, city) VALUES (?,?,?,?,?)";
$query->bind_param($firstname, $lastname, $email, $mobile, $city);
$firstname=$_POST['user']['firstname'];
$lastname=$_POST['user']['lastname'];
$email=$_POST['user']['email'];
$mobile=$_POST['user']['mobile'];
$city=$_POST['user']['city'];
$mysqli->query( $insert_sql );
$mysqli->close();
}
function save_details($mysqli){
$select_sql = $mysqli->prepare("SELECT id FROM employees WHERE email = ?");
$select_sql->bind_param($email);
$email=$_POST['user']['email'];
$insert_sql = $mysqli->prepare("INSERT INTO educational_details ( employee_id, qualification, year, percentage) VALUES (?,?,?,?)";
$query->bind_param($employee_id, $qualification, $year, $percentage);
$employee_id = $mysqli->query( $select_sql );
$qualification=$_POST['user']['qualification'];
$year=$_POST['user']['year'];
$percentage=$_POST['user']['percentage'];
$mysqli->query( $query );
$mysqli->close();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.