gpt4 book ai didi

php - 如何在 PHP 和 MySQL 中建立一个多类别的管理员?

转载 作者:行者123 更新时间:2023-11-29 12:06:13 24 4
gpt4 key购买 nike

我想为我的网站构建一个管理页面,我可以在其中使用多个复选框来存储/更新单个帖子的许多类别。所以我创建了三个表:

POST Table (id (index, auto-increment, not null), subject, content)

CATEGORIES Table (id (index, auto-increment, not null), name)

POST_CATEGORIES Table (id (index, auto-increment, not null), id_cat (foreign key to CATEGORIES.id), id_post (foreign key to POST.id))

(最后一个表正在建立帖子及其类别之间的关系。)

所以我尝试列出带有多个复选框的类别。我正在执行此查询,但它没有按预期工作:

$select = $db->query('SELECT categories.id, categories.name, post_categories.id_cat AS fk_cat, post_categories.id_post AS fk_post, post.id AS post_id
FROM `categories`
LEFT JOIN post_categories
ON categories.id = id_cat
LEFT JOIN posts
ON post.id = id_post');

结果是我有一个类别列表,但每个类别名称都会重复,具体取决于具有该类别的帖子数量(例如:如果帖子 1 和帖子 2 都有类别 1,则类别 1 将在我的列表中出现 2 次)。

编辑:感谢您的回复,这是一个 sqlfiddle 来看看发生了什么...... http://sqlfiddle.com/#!9/4c304/1

(我正在尝试显示类别列表。我不会从类别表中选择 *,因为在下一步中,我希望在编辑帖子时检查正确的类别。)

最佳答案

SELECT DISTINCT c.id
, c.name
, p.id post_id
FROM categories c
LEFT
JOIN post_categories pc
ON c.id = pc.id_cat
LEFT
JOIN posts p
ON p.id = pc.id_post

关于php - 如何在 PHP 和 MySQL 中建立一个多类别的管理员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31430982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com