所以我在数据库中有一个表,其中包含如下结构的类别:
pk int: cat_id
int: parent_id
varchar: cat_name
顶级类别的 parent_id 为空,并且可能有多个级别的子项。基本上,我正在获取一个搜索字符串并将其与类别名称进行匹配,如果该类别有父类别,那么我想以面包屑的方式显示所有匹配项的完整路径。这是我现在正在做的伪代码:
search_string = whatever;
result = query db and find all category names matching "%whatever%";
foreach(result)
{
parent_id = result[parent_id];
result_path = result[cat_name];
while(parent_id != null)
{
result2 = query db and find cat_id = parent_id;
result_path = result2[cat_name] + " > " + result[path];
parent_id = result2[parent_id];
}
print result_path;
}
除了嵌套循环和数据库查询之外,还有更有效的方法吗?
感谢您的任何意见。