私はちょっとした不思議な状況があります。私のサイトでは、アウトゴーイングを追跡するサイトを構築しています。私のウェブサイトでは、私のテーブルに、これはAJAXを使って行われます。PHP/AJAXでdb行を追加して更新する
レコードが挿入されると、そのレコードがページに表示され、ユーザーはレコードを更新または削除することができます。
私の問題は、レコードが挿入されてポストバックされたときに、レコードがそのテーブルに何の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>
UPDATEの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());
どのように私はそのShyjuをやるのだろうか?各レコードは固有のIDを持っています。 – Liam
@Liam:私の更新された答えを見てください。 – Shyju
文法エラーが発生する@shyju – Liam