不可否认,我在这里有点不合时宜,但无论如何都要尝试这个项目。
背景
我正在开发一个页面,允许我的用户将数据输入数据库。数据库有多个表,可以插入和更新数据。用户采取的第一个操作是从下拉列表中选择一个选项,然后单击“创建”。单击“创建”按钮将在我的一个表中创建记录。此外,点击“创建”后,将显示更大的表格。一旦更大的表单完成,用户就可以“保存”他们的工作。我打算使用更新查询来允许用户保存他们的工作。
的问题:
我使用ajax发布数据(参见下面的示例),我基本上想要将记录ID(主要KEY)返回到页面,以便当访问者保存附加信息时,数据库知道要更新的记录。
//脚本
$(function(){
$('#create').click(function(event) {
event.preventDefault();
$.ajax({
type: "POST",
url: "url",
data: {"optimizationtype": $("#optimizationtype").val()},
success: function(results){
$("#mvt-experimentdetails").css("display", "inline-block");
$("#create").attr('value', 'Save');
$("#create").attr('id', 'save');
}
});
});
});
// php包括
$expid = mysqli_insert_id($con);
我知道我想在ajax的成功区域归还它,但我不确定该怎么做...任何帮助都会非常感激。
答案 0 :(得分:0)
在PHP方面,运行插入后,您将要执行last_insert_id
并回显它。
例如(使用PDO和伪代码):
insert into table values (x,y)
$id = $db->lastInsertId();
echo $id;
在客户端,让我推荐$ .post而不是$ .ajax - 我发现它更容易使用。但是,这两种理论都是一样的。
$.post('url', {
data-key: data-value,
next-data-key: next-data-value
},
//now for the callback
function (recordID) {
//do something with recordID
alert(recordID);
});