我正在设计酒店预订系统,在插入客户信息后,我必须发回一个带有booking_id的确认页面,这是在插入客户信息时自动生成的。
我的问题是如何在插入数据后在相同的PHP代码中获取预订ID
请注意更多,一个人正在插入数据,所以我认为仅通过返回最后插入的行无法实现 请帮帮我。
我的javascript是:
<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>
我的服务代码book.php
<?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";
}
?>
答案 0 :(得分:1)
将它插入数据库后,您将使用mysql_insert_id()获取它。它会自动返回最新的自动增量ID。更好的一个 - 使用PDO或MySQLI因为mysql_insert_id()
已被弃用。
答案 1 :(得分:0)
您可以在PHP中使用mysql_insert_id()
函数来获取最后插入的ID
mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());
答案 2 :(得分:0)
使用此获取最后插入的ID并使用
$last_id = $conn->insert_id;
答案 3 :(得分:0)
你可以使用mysql_insert_id()来获取插入的id
$result1=mysql_query($query1);
echo mysql_insert_id()
答案 4 :(得分:0)
不要回复查询结果。
使用:mysql_insert_id()
或mysqli_insert_id()
返回预订ID。
注意:使用mysql_insert_id
时要小心,因为它在PHP 5.5中已经过折旧,并且将来会被删除
$id = mysql_insert_id();
echo json_encode($id);
然后在你的ajax成功函数中使用php文件而不是html并传递这个变量:
success: function(response){
window.location.href = "BookingConformation.php?bookingID='+response+'";
}
然后在bookingConfirmation.php
文件中使用get方法获取此变量:
$bookingID=$_GET['bookingID'];
eco $bookinID; //gives your booking id