Adicione dois campos, um é o ID do pai, se for o nível superior, o ID do pai é 0, o outro é se há subordinados, 0 yuan 1 sim, uma função pode resolver isso, chame essa função no meio do função, descubra a camada pai e, em seguida, verifique se ela tem subordinados. Em caso afirmativo, procure a coluna cujo ID pai é o ID primário.
'================================================ = =
'Nome do processo: listecityclass
'Função: Exibir classificação do sistema
'Parâmetro: id ------ ID do sistema a ser correspondido
'================================================ = =
Sublistacidadeclasse(id)
dim F_reco,F_total,F_n,F_classid,F_classname,F_classlayer
definir F_reco=Server.CreateObject(ADODB.Recordset)
F_reco.Open selecione classid,classname,classlayer de ws_ecityclass onde classparent=0 e classlist=0 ordem por classorder Asc,conn,1,1
F_total=F_reco.contagem de registros
se F_total>0 então
para F_n=1 a F_total
formato_i=1
F_classid=F_reco(0)
F_classname=F_reco(1)
F_classlayer=F_reco(2)
resposta.write <opção
se F_classlayer=0 então response.write valor= & F_classid
se id=F_classid então response.write selecionado
resposta.write > & F_classname & </option>
se F_classlayer=1 então chame listecityclass_(id,F_classid) 'Chame outra função, abaixo
F_reco.movnext
próximo
terminar se
F_reco.close: definir F_reco = nada
Finalizar sub
Sub listacityclass_(id,iid)
dim F_reco,F_total,F_n,F_m,F_classid,F_classname,F_classlayer
definir F_reco=Server.CreateObject(ADODB.Recordset)
F_reco.Open selecione classid,classname,classlayer de ws_ecityclass onde classparent=&iid& e classlist=0 ordem por ordem de classe Asc,conn,1,1
F_total=F_reco.contagem de registros
se F_total>0 então
para F_n=1 a F_total
F_classid=F_reco(0)
F_classname=F_reco(1)
F_classlayer=F_reco(2)
formato_i=formato_i+1
resposta.write <opção
se F_classlayer=0 então response.write valor= & F_classid
se id=F_classid então response.write selecionado
resposta.write >
para F_m=format_i para 2 passo -1
resposta.write
se F_m=2 então
se F_n=F_total então resposta.write └ senão resposta.write ├
terminar se
próximo
resposta.write F_classname & </option>
se F_classlayer=1 então chame listecityclass_(id,F_classid) 'Chame esta função
F_reco.movnext
formato_i=formato_i-1
próximo
terminar se
F_reco.close: definir F_reco = nada
Finalizar sub