2009-12-11 2 views
1

php와 mysql을 사용하여 데이터베이스 테이블에 정보를 삽입하고 있습니다. 나는 다음 페이지의 테이블에 삽입 된 동일한 정보를 표시하려합니다.php는 다음 페이지와 데이터베이스에있는 ID를 전달합니다.

ID를 보내면 아직 행이 작성되지 않았기 때문에 ID가 작동하지 않는다는 것을 알고 있습니다. 빈 페이지가 표시됩니다. 이 문제를 해결할 방법이 있습니까? 나는 테이블에서 오는 정보가 필요합니다.

+0

아직 삽입하지 않은 데이터를 데이터베이스가 반환하도록 하시겠습니까? 네가하려는 일을 모르지만 세션을 들여다 보겠다. http://php.net/manual/en/book.session.php – MiseryIndex

답변

2

편집 : 행이 아직 작성되지 않은 경우 DB에서이를 리턴 할 수 없습니다. 따라서 두 가지 방법으로 주어진 페이지에 액세스하려고합니다.

당신은 다음과 같이 수행 할 수 있습니다

$object = null; 
if (isset($_REQUEST['id'])) { 
    //call the DB to access the record data and put it 
    //into the $object that's representing that table. 
} 
else if (isset($_SESSION['data to display'])) { 
    //retrieve that data and set the values on $object 
    //then... 
    unset($_SESSION['data to display']); 
} 
else { 
    // bad input data. either call die() with an error message, 
    //or redirect to an error page, or do whatever else you might 
    //want to do. 
} 

여기에에서이 모든 것이 실제 페이지를 구축하기위한 공통 기능해야한다.

+1

그는 아직 행을 만들지 않았다고 생각합니다 ... – MiseryIndex

+0

그건 내 문제입니다. 행이 아직 작성되지 않았습니다. 다음 페이지에서 그 행을 호출하는 방법은 무엇입니까? – frapet

+0

잭, 고맙습니다. – frapet

1

귀하의 질문에 혼란 스럽습니다. 귀하가 기록을 만들고있는 것처럼 들리지만 다음 페이지로 이동하는 이유는 무엇입니까?

그렇지 않으면 그냥 $ _SESSION에 던져 넣을 수 있습니다.

+0

아직 생성되지 않은 새 행의 ID가 링크와 함께 다음 페이지로 전송됩니다. 링크가 다음 페이지로 넘어갈 때 아직 생성되지 않았기 때문에 비어 있습니다. – frapet

1

내가 생각하면 mysql_insert_id이 필요합니다. 레코드를 삽입 한 다음 호출하여 사용자를 해당 ID/페이지로 리디렉션하십시오.

관련 문제