我在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 标签打印所有项目?
答案 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'