Dreamweaver에서 마스터 페이지를 작성하고 세부 페이지로의 링크를 만드는 방법을 알아보세요.
Dreamweaver의 현재 버전 이후로 사용자 인터페이스가 간소화되었습니다. 따라서 이 문서에 설명된 옵션 중에 Dreamweaver의 현재 버전에 없는 옵션이 있을 수 있습니다. 자세한 내용은 이 문서를 참조하십시오.
마스터 및 세부 페이지 정보
마스터 및 세부 페이지는 레코드셋 데이터를 구성하고 표시하는 데 사용되는 페이지 집합입니다.이러한 페이지는 사이트를 방문하는 방문자에게 개요와 세부 보기를 모두 제공합니다.마스터 페이지에는 모든 레코드가 나열되며 각 레코드에 대한 추가 정보를 표시하는 세부 페이지로의 링크가 포함되어 있습니다.
데이터 오브젝트를 삽입하여 마스터 페이지와 세부 페이지를 한 번에 만들거나 서버 비헤이비어를 사용하여 보다 맞춤화된 방식으로 마스터 및 세부 페이지를 작성할 수 있습니다.서버 비헤이비어를 사용하여 마스터 및 세부 페이지를 작성할 때는 먼저 레코드를 나열하는 마스터 페이지를 만든 다음 목록에서 세부 페이지로의 링크를 추가합니다.
마스터 페이지 구성
시작하기 전에 위치에 대한 데이터베이스 연결을 정의했는지 확인하세요.
[바인딩] 패널([윈도우] > [바인딩])에서 더하기(+) 버튼을 클릭하고 [레코드셋]을 선택한 후 옵션을 선택하세요.SQL 문을 직접 작성하려면 [고급]을 클릭합니다.
레코드셋에 마스터 페이지를 만드는 데 필요한 모든 테이블 열이 포함되어 있는지 확인하세요.레코드셋에는 각 레코드의 고유 키가 포함된 테이블 열(즉, 레코드 ID 열)도 포함되어야 합니다.다음 예제에서는 Code 열에 각 레코드의 고유 키가 포함되어 있습니다.
일반적으로 마스터 페이지의 레코드셋은 데이터베이스 테이블에서 몇 개의 열을 추출하는 반면, 세부 페이지의 레코드셋은 동일한 테이블에서 더 많은 열을 추출하여 추가 세부 정보를 제공합니다.
레코드셋은 런타임에 사용자가 정의할 수 있습니다.자세한 내용은 검색 및 결과 페이지 작성을 참조하세요.
동적 테이블이 페이지에 표시될 위치에 삽입점을 놓으세요.[삽입] > [데이터 오브젝트] > [동적 데이터] > [동적 테이블]을 선택하고 옵션을 설정한 후 [확인]을 클릭하세요.
사용자에게 레코드 ID를 표시하지 않으려면 동적 테이블에서 해당 열을 삭제할 수 있습니다.페이지의 아무 곳이나 클릭하여 초점을 페이지로 이동하세요.동적 테이블에서 열 셀이 빨간색 윤곽선으로 표시될 때까지 커서를 열 상위 근처로 이동한 후 클릭하여 열을 선택하세요.Delete 키를 눌러 테이블에서 열을 삭제하세요.
세부 정보 페이지에 대한 링크 만들기
마스터 페이지를 작성하고 레코드셋을 추가한 후 세부 페이지를 여는 링크를 만드세요.그런 다음 링크를 수정하여 사용자가 선택한 레코드의 ID를 전달하세요.세부 페이지는 이 ID를 사용하여 데이터베이스에서 요청된 레코드를 찾아 표시합니다.
동일한 프로세스를 사용하여 업데이트 페이지에 대한 링크를 만듭니다.결과 페이지는 마스터 페이지와 유사하고, 업데이트 페이지는 세부 정보 페이지와 유사합니다.
세부 정보 페이지를 열고 레코드 ID를 전달하세요(ColdFusion, PHP)
동적 표에서 선택된 텍스트가 링크된 것으로 나타납니다. 페이지가 서버에서 실행되면 모든 테이블 행의 텍스트에 링크가 적용됩니다.
?recordID=#recordsetName.fieldName#
물음표는 서버에 뒤에 오는 내용이 하나 이상의 URL 매개 변수임을 알려줍니다. recordID라는 단어는 URL 매개 변수의 이름입니다 (원하는 이름을 만들 수 있습니다). 나중에 세부 정보 페이지에서 사용할 것이므로 URL 매개 변수의 이름을 기록해 두세요.
등호 다음에 오는 식은 매개 변수의 값입니다. 이 경우 값은 레코드 집합에서 레코드 ID를 반환하는 ColdFusion 식으로 생성됩니다. 동적 테이블의 각 행에 대해 서로 다른 ID가 생성됩니다. ColdFusion 식에서 recordsetName을 레코드 집합의 이름으로 바꾸고, fieldName을 각 레코드를 고유하게 식별하는 레코드 집합 필드의 이름으로 바꿉니다. 대부분의 경우 필드는 레코드 ID 번호로 구성됩니다. 다음 예제에서 필드는 고유한 위치 코드로 구성됩니다.
locationDetail.cfm?recordID=#rsLocations.CODE#
페이지가 실행되면 레코드 집합의 CODE 필드 값이 동적 테이블의 해당 행에 삽입됩니다. 예를 들어 호주 캔버라 렌탈 위치의 코드가 CBR인 경우 동적 테이블의 캔버라 행에서 다음 URL이 사용됩니다:
locationDetail.cfm?recordID=CBR
?recordID=<?php echo $row_recordsetName['fieldName']; ?>
물음표는 서버에 다음에 오는 것이 하나 이상의 URL 매개 변수임을 알려줍니다. recordID라는 단어는 URL 매개 변수의 이름입니다(원하는 이름을 사용할 수 있습니다). 세부 페이지에서 나중에 사용할 것이므로 URL 매개 변수의 이름을 메모해 두십시오.
등호 다음의 표현식은 매개 변수의 값 입니다. 이 경우 값은 레코드 세트에서 레코드 ID를 반환하는 PHP 표현식으로 생성됩니다. 동적 테이블의 각 행에 대해 서로 다른 ID가 생성됩니다. PHP 표현식에서 recordsetName을 레코드 세트의 이름으로 바꾸고, fieldName을 각 레코드를 고유하게 식별하는 레코드 세트의 필드 이름으로 바꾸십시오. 대부분의 경우 필드는 레코드 ID 번호로 구성됩니다. 다음 예에서 필드는 고유한 위치 코드로 구성됩니다.
locationDetail.php?recordID=<?php echo $row_rsLocations['CODE']; ?>
페이지가 실행될 때 레코드 세트의 CODE 필드 값이 동적 테이블의 해당 행에 삽입됩니다. 예를 들어 오스트레일리아 캔버라의 렌탈 위치에 CBR 코드가 있는 경우, 동적 테이블의 캔버라 행에서 다음 URL이 사용됩니다:
locationDetail.php?recordID=CBR
세부 페이지를 열고 레코드 ID 전달 (ASP)
선택된 텍스트 앞뒤에 특수 링크가 지정됩니다. 사용자가 링크를 클릭하면 [Go To Detail Page] 서버 비헤이비어가 레코드 ID를 포함하는 URL 매개변수를 세부 페이지에 전달합니다.예를 들어 URL 매개 변수를 id라고 하고 세부 페이지를 customerdetail.asp라고 하는 경우, 사용자가 링크를 클릭했을 때 URL은 다음과 같이 표시됩니다:
http://www.mysite.com/customerdetail.asp?id=43
URL의 첫 번째 부분인 http://www.mysite.com/customerdetail.asp은 세부 페이지를 엽니다. 두 번째 부분인 ?id=43은 URL 매개 변수를 나타냅니다. 이 부분이 찾아서 표시할 레코드를 세부 정보 페이지에 알려 줍니다. id는 URL 매개변수의 이름이고 43은 해당 값입니다.이 예에서 URL 매개 변수에는 레코드의 ID 번호인 43이 포함됩니다.
세부 페이지에서 요청된 레코드를 찾아 표시하세요.
마스터 페이지에서 요청한 레코드를 표시하려면 단일 레코드를 보관할 레코드세트를 정의하고 레코드세트 열을 세부 페이지에 바인딩해야 합니다.
단순 [레코드세트] 또는 [데이터 세트] 대화 상자가 나타납니다. 고급 대화 상자가 나타나면 [간단히]를 클릭합니다.
레코드세트는 마스터 페이지의 레코드세트와 동일하거나 다를 수 있습니다.일반적으로 세부 페이지 레코드세트에는 더 많은 세부사항을 표시하기 위해 더 많은 열이 있습니다.
레코드세트가 다르면 세부 페이지의 레코드세트가 마스터 페이지의 레코드세트와 공통된 열을 최소 하나 이상 포함해야 합니다.공통 열은 일반적으로 레코드 ID 열이지만 관련 테이블의 조인 필드일 수도 있습니다.
레코드세트에 테이블 열 중 일부만 포함하려면 [선택함]을 클릭하고, 목록에서 원하는 열을 Ctrl 키를 누른 채 클릭(Windows) 또는 Command 키를 누른 채 클릭(Macintosh)하여 선택합니다.
[필터] 영역의 첫 번째 팝업 메뉴에서 마스터 페이지에서 전달된 URL 매개 변수의 값과 일치하는 값이 포함된 레코드세트의 열을 선택합니다.예를 들어, URL 매개 변수에 레코드 ID 번호가 포함되어 있는 경우 레코드 ID 번호가 포함된 열을 선택합니다. 이전 섹션에서 설명한 예에서 CODE라는 레코드 집합 열에는 마스터 페이지에서 전달된 URL 매개 변수의 값과 일치하는 값이 포함되어 있습니다.
첫 번째 메뉴 옆의 팝업 메뉴에서 등호를 선택합니다(이미 선택되어 있어야 함).
세 번째 팝업 메뉴에서 [URL 매개 변수]를 선택합니다. 마스터 페이지는 URL 매개 변수를 사용하여 세부 정보 페이지로 정보를 전달합니다.
네 번째 상자에 마스터 페이지에서 전달된 URL 매개 변수의 이름을 입력합니다.
마스터 페이지와 세부 정보 페이지를 모두 서버에 업로드한 후 브라우저에서 마스터 페이지를 열 수 있습니다. 마스터 페이지에서 세부 정보 링크를 클릭하면 선택한 레코드에 대한 자세한 정보가 포함된 세부 정보 페이지가 열립니다.
특정 레코드 찾기 및 페이지에 표시(ASP)
레코드 집합에서 특정 레코드를 찾아 레코드 데이터를 페이지에 표시할 수 있도록 서버 동작을 추가할 수 있습니다. 이 서버 동작은 ASP 서버 모델을 사용할 때만 사용할 수 있습니다.
다른 페이지에서 현재 페이지로 전달되는 URL 매개 변수에 포함된 레코드 ID입니다. HTML 하이퍼링크나 HTML 양식을 사용하여 다른 페이지에서 URL 매개 변수를 만들 수 있습니다. 자세한 내용은 양식으로 사용자 정보 수집하기를 참조하십시오.
현재 페이지에 대해 정의된 레코드세트. 서버 동작은 이 레코드셋에서 레코드 세부사항을 추출합니다.자세한 지침은 SQL 작성 없이 레코드셋 정의하기 또는 SQL 작성으로 고급 레코드셋 정의하기를 참조하십시오.
페이지에 바인딩된 레코드세트 열. 특정 레코드가 페이지에 표시되어야 합니다.자세한 내용은 텍스트를 동적으로 만들기를 참조하십시오.
예를 들어, 다른 페이지에서 레코드 ID 번호를 전달하면 레코드 ID 번호가 포함된 열을 선택합니다.
예를 들어, 다른 페이지에서 세부 페이지를 열 때 사용한 URL이 id=43이면 [일치하는 URL 매개 변수] 상자에 id를 입력합니다.
다음에 브라우저에서 페이지를 요청할 때, 서버 동작은 다른 페이지에서 전달한 URL 매개 변수의 레코드 ID를 읽고 레코드셋의 지정된 레코드로 이동합니다.
한 번의 작업으로 마스터 및 세부 페이지 작성
웹 애플리케이션을 개발할 때 Master Detail Page Set 데이터 오브젝트를 사용하여 마스터 및 세부 페이지를 빠르게 작성할 수 있습니다.
이 페이지가 마스터 페이지가 됩니다.
레코드셋에 마스터 페이지에 필요한 모든 열뿐만 아니라 세부 페이지에도 필요한 모든 열이 포함되어 있는지 확인합니다.일반적으로 마스터 페이지의 레코드셋은 데이터베이스 테이블에서 몇 개의 열을 추출하는 반면, 세부 페이지의 레코드셋은 추가 세부사항을 제공하기 위해 같은 테이블에서 더 많은 열을 추출합니다.
기본적으로 레코드세트의 모든 열이 선택되어 있습니다. 레코드셋에 recordID와 같은 고유 키 열이 포함되어 있으면 해당 열을 선택하고 빼기(-) 버튼을 클릭하여 페이지에 표시되지 않도록 합니다.
마스터 페이지에서 레코드셋 열은 테이블에 가로로 배열됩니다.위쪽 화살표를 클릭하면 열이 왼쪽으로 이동하고, 아래쪽 화살표를 클릭하면 열이 오른쪽으로 이동합니다.
예를 들어, 마스터 페이지의 각 제품 이름이 세부 정보 페이지에 대한 링크를 갖도록 하려면 제품 이름이 포함된 레코드세트 열을 선택합니다.
일반적으로 선택되는 열은 레코드 ID 번호입니다. 이 값은 세부 정보 페이지에 전달되어 사용자가 선택한 레코드를 식별할 수 있습니다.
이 옵션은 기본적으로 선택되며, 모든 서버 모델에 표시되지는 않습니다.
기본적으로 마스터 페이지의 레코드세트에 있는 모든 열이 선택됩니다.레코드세트에 recordID와 같은 고유 키 열이 포함된 경우, 해당 열을 선택하고 빼기(-) 버튼을 클릭하여 세부 정보 페이지에 표시되지 않도록 합니다.
세부 정보 페이지에서 레코드세트 열은 표에서 세로로 배열됩니다.위쪽 화살표를 클릭하면 열이 위로 이동하고, 아래쪽 화살표를 클릭하면 열이 아래로 이동합니다.
데이터 오브젝트는 세부 정보 페이지를 만들고(이미 만들지 않은 경우) 마스터 페이지와 세부 정보 페이지 모두에 다이내믹 콘텐츠와 서버 동작을 추가합니다.
Dreamweaver 페이지 디자인 도구를 사용하여 각 페이지의 레이아웃을 완전히 사용자 지정할 수 있습니다.[서버 동작] 패널에서 서버 동작을 두 번 클릭하여 편집할 수도 있습니다.
데이터 오브젝트로 마스터 페이지와 세부 정보 페이지를 만든 후 [서버 동작] 패널([창] > [서버 동작])을 사용하여 데이터 오브젝트가 페이지에 삽입하는 다양한 구성 요소를 수정합니다.