0

PHP / MySQLの新機能であり、CMSを構築します。記事を複数のカテゴリに関連付ける方法を知る必要があります。たとえば、「私の記事1」は3つのカテゴリに含まれ、「私の記事2」は2つだけに含まれる必要があります。

基本的には、最初に設定されたテーブルだけです。これが私が持っているものです:

Table = articles
Fields = id, publicationDate, title, summary, content

Table = categories
Fields = id, categoryTitle

結合や関係などについては少し知っていますが、最初からこれを正しく理解したいと思います。

4

2 に答える 2

2

記事IDをカテゴリIDにリンクする多対多のテーブルが必要です

CREATE TABLE articles_categories (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    articles_id INT,
    category_id INT
) TYPE=myisam;

したがって、記事に関連付けるカテゴリごとに、このテーブルに行を挿入する必要があります。

おそらく次のようなものです:

$currentArticle = array('id' => 99, 'name' => 'Test Article');
$currentCategory = array('id' => 1, 'name' => 'First Category');
mysql_query(sprintf('INSERT INTO articles_categories (articles_id, category_id) VALUES (%d, %d)', $currentArticle['id'], $currentCategory['id']));
于 2011-11-02T19:41:58.710 に答える
1

2つのフィールドを持つarticles_to_categoriesなどと呼ばれる3番目のテーブルが必要です。

  • article_id
  • category_id

各記事とカテゴリの関連付けのエントリを追加します。PKを両方の列に設定します。

于 2011-11-02T19:41:25.190 に答える