如何将文章与多个类别相关联

时间:2011-11-02 19:38:34

标签: php mysql database-table

PHP / MySQL新手并构建CMS。我需要知道如何将文章与多个类别相关联,例如“我的第1条”必须分为3类,“我的第2条”必须只有2个等。

它基本上只是开始时设置的表格。这就是我所拥有的:

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

Table = categories
Fields = id, categoryTitle

我对联合和人际关系等有所了解,但我想从一开始就做到这一点。

2 个答案:

答案 0 :(得分: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']));

答案 1 :(得分:1)

您需要第三个表格,名为articles_to_categories或其他,有两个字段:

  • 的article_id
  • CATEGORY_ID

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