如何显示不同或所有类别的内容?

时间:2013-02-07 20:19:57

标签: php mysql

我有一个名为“categories.php”的页面。我用它来显示不同类别的不同内容。

示例:

mysite.com/categories.php?cat=dance (shows dancing content)
mysite.com/categories.php?cat=sing (show singing content)
Etc...

数据库有两个不同的表:

Categories
categories_id
categories_title

Categories_content
cat_content_id
categories_id
categories_text
categories_image

到目前为止一切顺利。但现在我面临的问题。假设我想显示所有类别的内容。通常我必须逐个为所有类别添加相同的内容。但我认为应该有一种方法只添加一次并在所有页面上显示它。

我忘了提到我使用带有下拉菜单的表单,其中类别是我要添加内容的列表。

任何想法如何做到这一点?我是否必须使用多个SQL查询才能实现此目的?

也许我只是让自己变得困难,并且有一个简单的解决方案。

提前致谢。 MW

2 个答案:

答案 0 :(得分:1)

您应该能够在没有where子句的情况下使用SQL。它应该返回所有id,而不管类别id。

Select cat_content_id from categories_content;

答案 1 :(得分:1)

如果您创建一个名为“all”的新类别,则可以在查询中实现此目的。

所以而不是:

SELECT * FROM Categories JOIN [...] WHERE categories_title = '{$_GET['cat']}'

使用:

SELECT * FROM Categories JOIN [...] WHERE categories_title = '{$_GET['cat']}' OR categories_title = 'all'

然后在类别列表中,过滤掉“全部”。

有很多方法可以做到这一点,我的可能不是最好的,但这是我头脑中最好的。