如何用x标签打印所有项目

时间:2015-05-29 12:18:34

标签: php mysql

我在mysql中有3个相关的表,如下所示:

Table: Items
Columns: ID, Item_ID, Item_Title, Content

Table: Tags
Columns: Tag_ID, Tag_Title

Table: Items_Tags
Columns: Item_ID, Tag_ID
  • Item_ID Items 表中的外键。

  • Items_Tags 是一个关联表。

现在我想用 x 标签打印所有项目。

例如:

// Items
+-----+-----+---------+-----------------+
|  1  | 123 |  tile1  |    content1     |
-----------------------------------------
|  2  | 123 |  tile2  |    content2     |
-----------------------------------------
|  3  | 444 |  tile3  |    content3     |
-----------------------------------------
|  4  | 333 |  tile4  |    content4     |
-----------------------------------------

// Tags
+------+-----+
|  22  | php |
--------------
|  23  | js  |
--------------
|  11  | sql |
--------------

// Item_Tags
+-------+-----+
|  123  | 22  |
---------------
|  444  | 23  |
---------------
|  333  | 11  |
---------------

我不知道为什么我感到困惑,只是我知道我应该使用join,但是如何?! 如何使用 php 标签打印所有项目?

2 个答案:

答案 0 :(得分:2)

您只需将表格连接在一起,然后根据需要搜索标签标题。

p->data = item;

答案 1 :(得分:0)

对你有用;

SELECT * FROM Items AS I,Tags AS T, Items_Tags AS IT
WHERE I.ID = IT.Item_ID
AND T.ID = IT.Tag_ID
AND WHERE T.Tag_Title = 'x'