[英]php faceted search
我有表问题 (MySQL与PHP),其中包含问题,类别(多个)和subcat(多个)。 为了简化,同时保存每个问题,我将类别保存为逗号分隔,如下所示
qid question catid subcat
2 question1 2,3,4 5,7
像这样我现在在DB中有1000个问题
在进行多面搜索时,我想针对每个类别及其对应的子类别(如下面的树格式)进行过滤
cat1(5)
subcat1(3)
.........
cat2(24)
..........
为此,我只是在执行in_array的同时,为该问题表的每个循环中的每个问题搜索特定的猫。该页面现在变慢了。 以及文本搜索。
这是一个不错的主意还是向我提出了一些正确的建议。
我是否想为类别单独使用表格?
Thanxs,戈壁
是的,正确的方法是将类别和子类别的表分别设置为:
Table Category
--------------
qid cat-id
Table Sub_category
------------------
qid sub_cat_id
这样,您的问题表可简化为:
Table Question
---------------
id Question
在单独的表中存储关系信息的正确方法。 因此,也许您会发现此结构有用:
question
表,包含问题信息:
CREATE TABLE `question` (`id` int, `question` text);
包含类别信息的表:
CREATE TABLE `category` (`id` int, `parent_id` int, `category` tinytext);
表,包含关系:
CREATE TABLE `question_category` (`question_id` int, `category_id` int);
通过这种结构,您将可以轻松地拥有大的类别深度和大的联系数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.