2013-02-07 44 views
1

我有一个名为“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

+0

您使用连接查询。 – Kermit

+0

你能解释一下你的意思吗?我知道如何使用连接,但添加内容时,表单有一个下拉菜单,我可以在其中选择要添加内容的类别。也许我应该在我上面的帖子中写下这些。 – moonwalker

回答

1

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

所以不是:

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

用途:

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

然后在一个类别列表,过滤掉 “所有”。

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

+0

我想我错过了上下文,Lazadon的答案会更好,如果你试图从字面上显示所有内容。我把它解释为你想要所有类别的独家内容。 – 2013-02-07 20:31:38

+0

不,我在想你提供的同样的解决方案,我只需要看看是否有其他选择我可以选择。我想我会实现这一点,因为这是目前最简单的形式。 – moonwalker

1

你应该能够使用没有where子句的SQL。它应该返回所有的id,不管categories_id。

Select cat_content_id from categories_content; 
+0

感谢Lazadon的回答,但我需要过滤。我不想在“唱歌”内容页面中“跳舞”内容,这就是我使用过滤器的原因。 – moonwalker

相关问题