生成树级的大概流程...三重循环 1.while(select * from 大类级别表) { 取出每个大类的ID 2.while(select * from 小类级别表 where 级别上级=大类ID) { 取出每个小类的ID while(select * from 企业表 where 企业大类=大类ID and 企业小类=小类ID) {取出企业信息} }
如果考虑到以后类别有添加的可能,可以用挂月的数据表结构!关于查询,用户输入的是类别名称,我的方法是:select 企业表.* from 企业表 left join 企业大类表 on 企业表.企业大类ID=企业大类表.企业大类ID left join 企业小类表 on 企业表.企业小类ID=企业小类表.企业小类ID where 企业大类表.企业大类名称=查询名称 or 企业小类表.企业小类名称=查询名称如果是模糊查询,例如用户输入'纺织',上面where条件语句可以改为 where 企业大类表.企业大类名称 like '%纺织%' or 企业小类表.企业小类名称 like '%纺织%'浅见,:)
企业ID
企业名称
....
....
企业级别级别表
级别ID
级别上级
级别level
企业ID
企业名称
....
....
企业大类
企业小类企业大类级别表
级别ID
级别名称企业小类级别表
级别ID
级别名称
级别上级
1.while(select * from 大类级别表)
{
取出每个大类的ID
2.while(select * from 小类级别表 where 级别上级=大类ID)
{
取出每个小类的ID
while(select * from 企业表 where 企业大类=大类ID and 企业小类=小类ID)
{取出企业信息}
}
left join 企业大类表 on 企业表.企业大类ID=企业大类表.企业大类ID
left join 企业小类表 on 企业表.企业小类ID=企业小类表.企业小类ID
where 企业大类表.企业大类名称=查询名称 or 企业小类表.企业小类名称=查询名称如果是模糊查询,例如用户输入'纺织',上面where条件语句可以改为
where 企业大类表.企业大类名称 like '%纺织%' or 企业小类表.企业小类名称 like '%纺织%'浅见,:)