1
我有一個多部分表單,按「Back」或「Next」將導致該部分被提交併存儲到數據庫(MySQL)中;唯一的區別是如果它轉到下一個或前一個表單。更新父級時,子行消失
請注意,後續部分(第二部分以後)是第一部分表的子表。他們有'ePARno'作爲外鍵。
第一部分執行這個片段:當我按回到第二個形式,把我送到第一種形式,並通過點擊返回至下一它
if(isset($_SESSION[ 'eparno' ])) { //if it's an edit, replace
$eparno = $_SESSION[ 'eparno' ];
$insert_query_0 = mysql_query ("
REPLACE INTO form
(ePARno, caseno, accomplishedby)
VALUES
('$eparno', '$caseno', '$accomplishedby')
");
}
else { //otherwise, it's a fresh insert
$insert_query_0 = mysql_query ("
INSERT INTO form
(caseno, accomplishedby)
VALUES
('$caseno', '$accomplishedby')
");
$eparno = mysql_insert_id();
}
我的問題就出現了。當我這樣做時,會發生什麼情況是第二個表格的插入行被插入(通過按Back鍵),但是當我從第一個表單按下Next時,它會從表中消失。 (我通過phpmyadmin查看數據庫,同時按下回退和下一步,一步一步地)
我懷疑這與第一種形式替換父行有關。如果它執行REPLACE,我懷疑已經存在的子行(如第二種形式)已被刪除。
我還必須說,如果我不回去,事情會順利進行。沒有行消失。
我懷疑有什麼價值嗎?如果是這樣,我該如何補救?如果不是,那可能是什麼問題?
哦,謝謝,謝謝。我必須嘗試。 –
如何使用這些查詢來實現相同的目標? –
根據[doc](http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html) –