我遇到了一些奇怪的情况,我正在建立一个网站来跟踪支出,在我的网站上,您可以在我的表格中插入无限数量的“支出”或“账单”,这是使用 AJAX 完成的。
一旦插入,记录就会显示在页面上,用户可以选择更新或删除记录。
我的问题是,当插入并回发记录时,我不知道该记录在表中的 ID 是什么,因此更新功能无法正常工作。我尝试添加一个隐藏字段“随机键”,当用户插入记录时,会插入一个随机数,并且仅将其发回用于我的更新功能,我似乎无法使其正常工作。
有人知道如何最好地执行此操作吗?
谢谢
我的代码...
PHP 表单
<form id='bill-upd'>
<input type='hidden' value='".$info['rand']."' name='rand2' id='rand2'>
<input type='hidden' value='".$info['id']."' name='billid' id='billid'>
Total <input type='text' id='total' name='total' /><br />
Bill name<input type='text' id='bill-name' name='bill-name' /><br />
Bill descriptiion <input type='text' id='bill-description' name='bill-description' /><br />
Bill colour<input type='text' id='bill-colour' name='bill-colour' />
<input type='button' value='submit' onClick='updateBill();' />
</form>
更新 PHP 页面
$uid = $_SESSION['oauth_id'];
$id = mysql_real_escape_string($_POST['billid']);
$bill = mysql_real_escape_string($_POST['total']);
$billname = mysql_real_escape_string($_POST['bill-name']);
$billdescription = mysql_real_escape_string($_POST['bill-description']);
$billcolour = mysql_real_escape_string($_POST['bill-colour']);
$rand = mysql_real_escape_string($_POST['rand2']);
#update Record
$query = mysql_query("UPDATE `outgoings` SET id = '$id', user_id = '$uid', bill = '$bill', bill_name = '$billname', bill_description = '$billdescription', bill_colour = '$billcolour', rand = '$rand' WHERE user_id = '$uid' AND rand = '$rand' ") or die(mysql_error());