[英]How to return inserted row in mysql using json format?
我必须返回插入的行,该行只是以相同的php代码插入json格式。 在这一行中,booking_id是自动生成的密钥,以及其他信息,例如customer_Name,customer_Email,customer_id。 那么,如何返回带有附加列booking_id(自动生成)的插入行?
请注意,这个问题与我相同,但是我忘记了问返回行,但只问返回ID。 对此表示抱歉。 在这里检查
脚本
<script>
$(document).ready(function(){
$("#register-form").validate({
rules: {
userName: "required",
email: {
required: true,
email: true
},
userContactNumber: "required"
},
messages: {
userName: "Please enter your Name",
userContactNumber: "Please enter your Mobile number",
email: "Please enter a valid email address",
},
submitHandler: function(form) {
var uName = $('#userName').val();
var mailId = $('#email').val();
var mobNum = $('#userContactNumber').val();
$.ajax({
url:"http://localhost/bookRoom/book.php",
type:"POST",
dataType:"json",
data:{type:"booking", Name:uName, Email:mailId, Mob_Num:mobNum},
ContentType:"application/json",
success: function(response){
window.location.href = 'BookingConformation.html';
},
error: function(err){
window.location.href = 'error.html';
}
});
return false; // block regular submit
}
});
});
</script>
服务器代码
<?php
header('Access-Control-Allow-Origin: *');//Should work in Cross Domaim ajax Calling request
mysql_connect("localhost","root","2190");
mysql_select_db("hotels");
if(isset($_POST['type']))
{
if($_POST['type']=="booking"){
$name = $_POST ['Name'];
$mobile = $_POST ['Mob_Num'];
$mail = $_POST ['Email'];
$query1 = "insert into customer(userName, userContactNumber, email) values('$name','$mobile','$mail')";
$query2 = "insert into booking(cust_name, cust_email, cust_mobile) values('$name', '$mail','$mobile')";
$result1=mysql_query($query1);
$result2=mysql_query($query2);
echo json_encode($result1);
}
}
else{
echo "Invalid format";
}
?>
您可以使用mysql_insert_id()函数访问在插入操作中自动生成的ID。
要返回它,只需使用您在插入中使用的数据和检索到的ID创建一个数组。 然后,您可以使用json_enode返回该数组。
用它。 我认为这对您有帮助
$id = mysql_insert_id();
使用: mysql_insert_id()
或mysqli_insert_id()
返回预订ID。
注意:使用mysql_insert_id
要小心,因为它在php 5.5中已弃用,以后会被删除
$id = mysql_insert_id();
echo json_encode($id);
然后在您的ajax success
函数中,使用php文件而不是html并将此预订传递给url query string
并在您的booking.php中使用此预订ID并编写查询以获取该行 :
success: function(response){
window.location.href = "BookingConformation.php?bookingID='+response+'";
}
然后在您的bookingConfirmation.php
文件中,使用GET
方法获取此变量:
$bookingID=$_GET['bookingID'];
$query1= "select * from bookin where b_id =".$bookingID;
$result = mysql_query($query1);
var_dump($result); //gives your array of insterd row
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.