簡単な方法 (今は、後で支払います) は、記事全体を 1 つのテキスト フィールドに格納することですが、そのテキストに html を配置する必要がある場合があるため、一部の表示制御を放棄します。テキストに html を挿入すると、Web ページのルック アンド フィールを変更した場合に、多くのデータを修正する必要があります。これは問題ではないかもしれません
原則として、html をデータベースに入れないようにしています。 XML を使用して記事を定義し、それを 1 つのテキスト フィールドに格納すると、アプリケーションがコンテンツを動的に適切にレンダリングできるようになります。改ページを XML に保存するか、アプリに記事全体を読み込ませて、現在のルック アンド フィールに基づいて動的に分割することができます。
XML を使用したくない場合は、私の「貧乏人の CMS」スキーマ (以下) を使用できます。「すべてのテキストを 1 つのフィールドに」する方法よりも、書式設定をより詳細に制御できます。
これらはあなたの質問に基づいた単なる推測です
テーブル:
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)
記事全体を 1 つのフィールドに入れることもできますが、異なる種類の「もの」が含まれている場合は分割することができます。
例を含む PHP コードに関する記事がある場合、「1 フィールド メソッド」では、テキストに html を挿入してコード例をフォーマットする必要があります。このモデルでは、何が何であるかを保存し、アプリケーションに適切に表示させます。さまざまなタイプを追加および展開したり、改ページを挿入したり、削除したりできます。それぞれ改ページを表す複数の「ArticleContentText」行にコンテンツを格納するか、改ページを指定する「ArticleContent」行を含めることができます。アプリに記事全体を読み取らせてから、必要なものだけを表示させることができます。