排序CMS页面
问题描述:
我一直在ASP VBScript中开发CMS,现在正在尝试添加页面排序功能,以便管理员可以以他们喜欢的任何方式排列页面。排序CMS页面
我曾尝试在数据库中添加一个sort_id列,但由于有许多不同级别的页面,因此它将我抛弃。我也尝试使用slu 012列(即parent_id/id/id/id)来确定级别和父级ID,但无法使其工作。
我需要能够对每个父ID以及其中的子页面进行排序,并根据此顺序将其打印出来。
我要寻找一个在正确的方向上推,因为我一直在这一个现在一边挣扎......
我使用DB Microsoft Access和目前拥有的列:
id, page_parent, page_name, page_content
答
答
如果您使用的是SQL Server,则可以使用递归查询来返回类似于结构的树,但这在Access中不受支持。
您可能需要添加自己的列,每当树结构发生变化时您都可以自行计算。
我会为显示顺序添加一列(数字),然后允许在每个级别(父母和子女)设置它。
然后,我会创建并填充第二列(varchar/string),它将计算的位置存储在树结构中。这将包括每个父母的显示订单值和该项目的显示顺序。
要按此列排序,您需要显示订单号具有固定长度。
此列的计算的值的一个实例是(显示顺序5位在本实施例中的最大长度):
00001/00010/00003
该实施例产品在第三位置的它的父,这是在第十位置它的父母,这是在*的第一位。
如果您愿意,您可以使用任何分隔符或不分隔符。
然后你可以改变你的SQL order by子句来使用这个计算列。