• 无限级分类数据的设计


    要实现栏目的无限极分类,我们需要对应的数据库表结构,一般情况下,如果结构比较常用[code]
    id int   自增主键 
    cat_name varchar(256)   分类类别名称 
    parent_id int 0 父母分类Id 
    depth  smallint 1 深度,从1递增 
    id_path  varchar(256) 表示从根节点到当前节点的路径的ID分割组合字符串
    name_path   varchar(256) 表示从根节点到当前节点的路径的NAME分割组合字符串
    status int 0  状态:0禁用,1启用 
    list_order  int 0  优先级,栏目排序,同级显示的时候越靠前


    在对树进行操作时,我们还是如平常一样对表执行CRUD操作,要维护这两个字段并不需要费多少力气,然而在查询时却会为我们带来极大的便利。例如要查询第3层的节点,则只需要使用"WHERE Depth = 3";又例如要查询A1节点下B3节点下C2节点下的所有子节点,则可以使用"WHERE Path LIKE 'A1/B3/C2%'";也可以用Find in set 替代like

  • 相关阅读:
    [BZOJ3172]单词
    [BZOJ2434]阿狸的打字机
    [BZOJ1195]最短母串
    [codeforces743E]Vladik and cards
    [BZOJ2553]禁忌
    [BZOJ1009]GT考试
    [BZOJ3507]通配符匹配
    [BZOJ4027]兔子与樱花
    test20190308
    Luogu P2742 模板-二维凸包
  • 原文地址:https://www.cnblogs.com/Alight/p/3277445.html
Copyright © 2020-2023  润新知