웹 페이지에서 데이터베이스 (SQL SERVER 2005) 테이블의 행을 표시하려고합니다. 이 행은 Status 테이블 (예 : id, name, modifiedDate)에 의해 추가로 정의 된 statusID (외래 키)를 포함합니다.프리젠 테이션 데이터를 데이터베이스에 저장할 수 있습니까?
다양한 상태가 다르게 표시되어야합니다 (단순히 다른 배경색을 사용한다고 가정 해 보겠습니다).
나는 PHP를 사용하여 데이터베이스를 쿼리하고 웹 페이지 테이블을 작성한다. 테이블을 만들면서 해당 행의 상태에 따라 CSS 클래스를 요소에 적용 할 것입니다.
나는이 작업을 수행하려면 적어도 2 가지 옵션이 있습니다 :
그것을 처리하는 PHP 코드 로직을 정의를하고, 상태가 데이터베이스에서 변경하는 경우, 나는 코드를 변경해야합니다.
"클래스"를 데이터베이스에 저장하고 저장된 클래스를 적용하기 만하면됩니다.
후자의 옵션이 나에게 좋을 것 같지만 데이터베이스에 프리젠 테이션 데이터를 포함하는 것이 나쁜 설계 선택 인 경우 확실하지 않습니다. 이것은 여러 인트라넷 유틸리티를 만드는 기초가 될 것이며, 나는 오른발에서 시작하고 싶습니다.
는 클래스 _attribute_을 적용 의미 "CSS 클래스를 적용?" ;) –
컨벤션 이상의 컨벤션? 상태 테이블의 각 레코드에 대해 "status_"CSS 클래스를 만들면 ... CSS 클래스 이름에 적합하지 않은 공백과 다른 문자를 제거하기위한 표준 문자열 수정을 적용하기 만하면됩니다. –
Schwartzie
당신은 여러 가지 상태를 추가 할 것이라고 생각합니까? 사용자가 상태와 모양을 사용자 정의 할 수 있도록 허용하는 경우 클래스를 추가 할 수 없기 때문에 클래스 정보를 저장하지 않을 수 있습니다. 배경 색상이나 글꼴 색상과 같은 맞춤형 옵션을 저장할 수 있습니다. 일반적으로 상태는 잘 정의되어 있으므로 많이 변경되면 안됩니다. 적절한 클래스를 반환하는 GetStatusClass (statusValue)와 같은 간단한 함수는 많이 변경되면 안됩니다. – Prescott