重新研究这个问题:php无限分类的子分类如何再排序

浏览:857 发布日期:2014/10/05 分类:求助交流
第一步。建立无限分类表。
CREATE TABLE IF NOT EXISTS chi_category (
id int(11) NOT NULL AUTO_INCREMENT,
DishCategory_Path varchar(255) DEFAULT NULL,
DishCategory_Sort int(11),
DishCategory_Name varchar(255) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ;



第二步。使用以下查询语句
SELECT id,DishCategory_Path,DishCategory_Name,DishCategory_Sort,concat(DishCategory_Path,'-',id) as fullpath FROM chi_category order by fullpath


第三步。看上面的语句结尾时order by fullpath。这个时候大致排序是正确的。
但是DishCategory_Sort这个字段的值没有排序。
因为order by要求当按照多个列进行排序时,只有第一列相同时才使用第二列。但是第一组fullpath是不可能相同的。所以现在不知道DishCategory_Sort这个字段的值如何排序。

我想实现的正确的情况是先按fullpath排序,然后 子分类例如 (川菜、卤菜)应该在上级分类(吃的)之下进行子分类的排序,如图所示 卤菜应该排在川菜前面才对。
那么现在怎么处理呢?各位大神
最佳答案
评论( 相关
后面还有条评论,点击查看>>