2012-08-28 50 views
3

我试图使用PHP和MySQL数据库,将返回来自许多不同的表,例如GroupsUsersSites结果建立一个WordPress网站一个简单的自定义搜索的搜索中,没有任何的每个表的数据与正在搜索的另一个表相关。我的目标是建立类似于Facebook的结果,根据结果的类型对结果进行分组。PHP/MySQL的过滤与Facebook类似

我已经建立了单独的查询,但我坚持就如何他们都配合在一起,这样我可以通过类型的结果和他们组相应过滤像Facebook一样。是否有一种简单的方法可以告诉哪个表格结果来自哪里,或者是否会完全向错误的方向行进?我对MySQL知之甚少,不了解最佳实践。下面是我运行一个简单的查询:

SELECT 
    name, slug 
FROM 
    ".$bp->groups->table_name."        
WHERE 
    name LIKE '%".$search_string."%' 
     OR 
    name = '%".$exp_string[0]."%' 
     OR 
    name IN ('".$join_string."'); 
+0

什么是'slug'?是'table_name'中的一列吗 – Malachi

+1

@Malione http://codex.wordpress.org/Glossary#Slug检查一下。 –

+0

@JaredEitnier谢谢你的链接 – Malachi

回答

1

试试这个:

SELECT 
    name, slug, '$bp->groups->table_name' as table 
FROM 
    ".$bp->groups->table_name."        
WHERE 
    name LIKE '%".$search_string."%' 
     OR 
    name = '%".$exp_string[0]."%' 
     OR 
    name IN ('".$join_string."'); 

这应该输出表名到结果。我不知道你会如何想这组后来..