gpt4 book ai didi

php - 如何在 Jquery 成功方法中获取 "last inserted id to database "?

转载 作者:行者123 更新时间:2023-12-01 05:46:51 27 4
gpt4 key购买 nike

嗯,在我的添加联系人表单中,我使用 Jquery 和 Php 将数据插入到 Mysql 数据库。已成功将数据插入数据库。现在我要将成功的页面重定向到 index.php?cdid=$last_id。但是我怎样才能在 jquery success 方法中获得这个 $last_id ?我只能显示成功的消息。有什么帮助吗?

Jquery 代码:

<script>
$('#addcontact').submit(function(event) {
event.preventDefault();
$.ajax({
type: 'POST',
url: 'add_contact_process.php',
data: $(this).serialize(),
dataType: 'json',

success: function (data) {
$('#success').html('');
$.each( data, function( key, value ) {

if(key !== 'error') {
$('#success').append('<p>'+value+'</p>');

}
});

if( ! data.error) {
$('#hide').hide();
setTimeout(function () {
$('input[type=submit]').attr('disabled', false);
window.location.href = "../index.php";
//window.location.href = "../index.php?redcdid=<?php echo $cdid; ?>";
// need something like above
}, 5000);
}

}
});
});
</script>

PHP 代码:

<?php
ob_start();
@session_start();
require_once("../config.php");

$company_name = ucfirst($_POST['company_name']);
$family_name = ucfirst($_POST['family_name']);

$msg = array();
$msg['error'] = false;

if(empty($company_name)){
$msg[] = "<font color='red'>Company name required. </font>";
$msg['error'] = true;
}
if(empty($family_name)){
$msg[] = "<font color='red'>Family name required. </font>";
$msg['error'] = true;
}


if($msg['error'] === false){

$query_2 = "INSERT INTO contact_details (cdid, family_name, given_name, work_phone, mobile_phone, email, email_private, user_id, created_date, cid) VALUES('', '$family_name', '$given_name', '$work_phone', '$mobile_phone', '$email', '$email_private', '$user_id', '$date', '$cid')";

$query_2 = mysql_query($query_2);
$last_id = mysql_insert_id();

if($query_2){
$msg[] = '<font color="green"><strong>Successfully added a new contact</strong>. </font>';
$another = "close";
}
else{
$msg[] = '<font color="red">Sorry we can not add a new contact details. </font>';
$msg[] .= mysql_error();
$another = "close";
}
}
echo json_encode($msg);
?>

更新:

我在 Php apge 中使用以下代码:

if($query_2){
$msg[] = '<font color="green"><strong>Successfully added a new contact</strong>.
</font>';
$msg['last_id'] = $last_id;
}

我正在使用以下 jquery 代码:

if( ! data.error) {     
$('#hide').hide();
setTimeout(function () {
$('input[type=submit]').attr('disabled', false);
var last_id = data.last_id;
window.location.href = "../index.php?redcdid=last_id";
}, 5000);
}

最佳答案

然后在您的响应中传递一个嵌套数组:

$data['msg'] = $msg;
$data['last_insert_id'] = $last_id;

echo json_encode($data);

然后在 JS 中,你需要将它们调整为:

success: function (response) {
// ^ now this will hold both the messages and the last insert id
var data = response.msg; // separate them, messages does in data
var last_id = response.last_insert_id; // last_id has the last insert id

},

关于php - 如何在 Jquery 成功方法中获取 "last inserted id to database "?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25988753/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com