有一个项目的目录。每个项目都位于类别下。对于每个类别,我们都可以拥有不同权限的用户(admin,expert,user)。当我们添加一个项目时,我们选择可见性: (1) - 对所有人都可见 (2) - 仅显示此项目发布类别的管理员和专家 (3) - 对于该类别的所有成员可见物品被张贴 (0) - 隐藏所有(只有创造者可以看到)。用不同的权限搜索php
让我说我有500个项目的标题中的单词“键盘”。他们大多数在不同的类别。这些500中只有1项具有隐私 - 2(专家和管理员可以看到该类别)并位于“Logitech”类别下。当我作为“Logitech”类别的管理员在搜索时键入“键盘”时,我应该看到搜索找到500个项目,并向我展示其中的10个项目。如果只是一个普通用户(不是管理员或专家),在搜索中键入“键盘”,他将看到该搜索找到499项,并向他显示该499项中的10个。
是抓取20个项目而不是10个,并检查每个项目的隐私,然后在搜索结果中只显示10个项目唯一可能的解决方案?但是,如果这20个都将“隐藏给用户”呢?
在此先感谢您的回复。
数据库草图:
1)个项目[ID,标题,CATEGORY_ID,能见度]
2)类:[ID,标题]
3)category_user [ID,USER_ID,CATEGORY_ID,作用(专家,管理员,用户)]
4)用户[ID,名称]
我们需要更多的细节。你使用MySQL数据库吗?显然你的搜索页面上的PHP代码?如果是,那么这是真的,你只需要帮助就发送到数据库的查询? – weltschmerz 2012-08-09 13:17:11
我正在使用php + mysql。我需要一些建议,如何从mysql获取并组织结果。只是想法会很好。 – FaStie9000 2012-08-09 13:19:48
好的,你的桌子是什么样的?只需要知道你有不同的列。另外,你是否只有一张桌子? – weltschmerz 2012-08-09 13:20:01