2014-02-06 2 views
0

분명히, 나는이 리그에서 약간 떨어져 있지만 어쨌든이 프로젝트를 시도하고 있습니다.삽입 후 레코드 ID 검색

배경 :
내가 내 사용자가 데이터베이스에 데이터를 입력 할 수있는 페이지를 개발하고있다. 데이터베이스에는 데이터가 삽입되고 업데이트되는 여러 테이블이 있습니다. 사용자가 취하는 첫 번째 작업은 드롭 다운에서 옵션을 선택하고 "만들기"를 클릭하는 것입니다. 생성 버튼을 클릭하면 테이블 중 하나에 레코드가 생성됩니다. 또한 '작성'을 클릭하면 큰 양식이 표시됩니다. 큰 양식이 완성되면 사용자는 작업을 "저장할"수 있습니다. 사용자가 작업을 저장할 수 있도록 업데이트 쿼리를 사용할 계획입니다.
질문 : 나는 본질적으로 방문자가 추가 정보를 저장할 때 있도록 페이지에 레코드 ID (기본 키)를 반환 할 (예를 들어 아래 참조) 데이터를 게시하는 아약스를 사용하고
데이터베이스는 업데이트 할 레코드를 알고 있습니다.

// 스크립트

$(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); 


포함 정확하게하는 법 ... 어떤 도움을 많이 주시면 감사하겠습니다.

답변

0

PHP 측에서는 삽입을 실행 한 후 last_insert_id을 실행하고이를 반향시키고 자 할 것입니다. 예 (PDO와 의사 코드를 사용하여)에 대한

는 :

클라이언트 측에
insert into table values (x,y) 
$id = $db->lastInsertId(); 
echo $id; 

, 내가 .post 대신 $ 아약스의 $를 추천하자 - 나는 훨씬 쉽게 사용할 찾을 수 있습니다. 그러나이 이론은 두 이론 모두 동일합니다.

$.post('url', { 
     data-key: data-value, 
     next-data-key: next-data-value 
    }, 
    //now for the callback 
    function (recordID) { 
     //do something with recordID 
     alert(recordID); 
}); 
+0

내가 이렇게 할 수 있을까요? 'function (recordID) {$ id = recordID}'? – user2828701

+0

'$ id'는 서버에서만 편집 할 수있는 PHP 변수이기 때문에 작동하지 않습니다. –