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

您需要第三个表,称为articles_to_categories 或其他任何内容,其中包含两个字段:

  • article_id
  • 类别ID

为每个文章和类别关联添加一个条目。将 PK 设置为两列。

于 2011-11-02T19:41:25.190 回答