好吧,在我的添加联系人表单中,我使用Jquery和Php将数据插入到Mysql数据库。它成功地将数据插入到数据库中。现在我要将成功的页面重定向到index.php?cdid = $ last_id。但我怎么能得到这个$ last_id在jquery成功方法?我只能显示成功的消息。任何帮助?如何在Jquery成功方法中获得“最后插入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);
}
哪个表你retrive最后一个ID? – 2014-09-23 07:00:19
只是返回新的cdid,并用javascript构建新的url。 – aleha 2014-09-23 07:00:53
在您的PHP页面中首先删除$ data = array();然后做我在我的评论 – 2014-09-23 07:19:42