"뒤로"또는 "다음"을 누르면 해당 부분이 제출되어 데이터베이스 (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) –