我正在用 php 中的类别创建一个简单的博客。
我希望 myblog.com/category.php?id=3 给我看这个:
TITLE of the category 3
// other stuff
ALL POSTS of the category 3
所以,实际上我做了 2 个查询(1 个用于获取标题,1 个用于获取帖子)。
有没有办法用 1 个查询来做到这一点?
根据你的数据库表,你可以这样
SELECT c.title, p.data FROM category c LEFT JOIN post p ON p.category = c.category ORDER BY p.date
但是,每个帖子的类别标题都会重复
如果您需要这些表中的所有字段,那么我认为您应该使用@Damien 的方式。如果您只需要标题,您可以使用以下查询。在此查询中,第一行是 CATEGORY 的标题,下一行是帖子的标题。
select * from
(
select 0 as ordField, categoris.Category_TITLE as Title from categoris where id =3
union all
select 1 as ordField, POSTS.Post_TITLE as Title from POSTS where category_id=3
) t order by ordField