쉬운 방법 (지금은 나중에 지불 하겠지만)은 하나의 텍스트 필드 내에 전체 기사를 저장하는 것이지만 일부 텍스트를 html로 입력해야하므로 일부 표시 제어를 포기해야합니다. 텍스트에 html을 넣으면 웹 페이지의 모양/느낌을 변경하는 경우 많은 데이터를 수정해야합니다. 이것은 문제가 아닐 수도 있습니다.
일반적으로 나는 html을 데이터베이스에 넣지 않으려 고합니다. XML을 사용하여 기사를 정의하고이를 한 텍스트 필드에 저장하는 것이 더 좋을 수 있으므로 응용 프로그램이 동적으로 내용을 렌더링 할 수 있습니다. XML에 페이지 나누기를 저장하거나 전체 아티클에서 응용 프로그램을 읽고 현재 룩앤필에 따라 동적으로 분할 할 수 있습니다.
XML을 사용하지 않으려면 "poor man 's CMS"스키마 (아래)를 사용할 수 있습니다. "한 텍스트의 모든 텍스트"방법보다 서식을 더 잘 제어 할 수 있습니다.
이
은 귀하의 질문에 따라
테이블 단지 추측입니다 :
Articles
--------
ArticleID int --primary key
ArticleStatus char(1) --"A"ctive, "P"ending review, "D"eleted, etc..
ArticleAuthor varchar(100) --or int FK to a "people" table
DateWritten datetime
DateToDisplay datetime
etc...
ArticleContent
--------------
ArticleID int --primary key
Location int --primary key, will be the order to display the article content, 1,2,3,4
ContentType char(1) --"T"ext, "I"mage, "L"ink, "P"age break
ArticleContentText
------------------
ArticleID int --primary key
Location int --primary key
FormatStyle char(1) --"X"extra large, "N"ormal, "C"ode fragment
ArticleText text
ArticleContentImage
-------------------
ArticleID int --primary key
Location int --primary key
AtricleImagePath varchar(200)
AtricleImageName varchar(200)
당신은 여전히 하나 개의 필드에 전체 기사를 넣을 수 있지만 다른 유형을 포함하는 경우 당신은 그것을 나눌 수 있습니다 "소지품".
예제가있는 PHP 코드에 대한 기사가있는 경우 "한 필드 방법"을 사용하면 텍스트에 HTML을 삽입하여 코드 예제의 서식을 지정해야합니다. 이 모델을 사용하면 무엇이 무엇인지 저장하고 응용 프로그램에 올바르게 표시 할 수 있습니다. 다른 유형을 추가 및 확장하고, 페이지 나누기를 삽입하고, 제거 할 수 있습니다. 페이지 나누기를 나타내는 여러 "ArticleContentText"행에 콘텐츠를 저장하거나 페이지 위반을 지정하는 "ArticleContent"행을 포함 할 수 있습니다.앱이 전체 기사를 읽은 다음 원하는 내용 만 표시하도록 할 수 있습니다.
페이지 나누기 이동을 고려하지 않았지만 좋은 지적입니다. – VirtuosiMedia