Ajoutez deux champs, l'un est l'ID parent, s'il s'agit du niveau supérieur, l'ID parent est 0, l'autre est s'il y a des subordonnés, 0 yuan 1 oui, une fonction peut le résoudre, appelez cette fonction au milieu du fonction, recherchez la couche parent, puis recherchez s'il a des subordonnés. Si tel est le cas, recherchez la colonne dont l'ID parent est l'ID principal.
'================================================== = =
'Nom du processus : listecityclass
'Fonction : Affichage de la classification du système
'Paramètre : id ------ ID système correspondant
'================================================== = =
Sublistecityclass(id)
dim F_reco, F_total, F_n, F_classid, F_classname, F_classlayer
définir F_reco=Server.CreateObject(ADODB.Recordset)
F_reco.Open sélectionnez classid,classname,classlayer à partir de ws_ecityclass où classparent=0 et classlist=0, classés par ordre de classe Asc,conn,1,1
F_total=F_reco.recordcount
si F_total>0 alors
pour F_n=1 à F_total
format_i=1
F_classid=F_reco(0)
F_classname=F_reco(1)
F_classlayer=F_reco(2)
réponse.write <option
si F_classlayer=0 alors réponse.write value= & F_classid
si id = F_classid alors réponse.write sélectionné
réponse.write > & F_classname & </option>
si F_classlayer=1 alors appelez listecityclass_(id,F_classid) 'Appelez une autre fonction, ci-dessous
F_reco.movenext
suivant
finir si
F_reco.close : définir F_reco=rien
Fin du sous-marin
Sous-listecityclass_(id,iid)
dim F_reco, F_total, F_n, F_m, F_classid, F_classname, F_classlayer
définir F_reco=Server.CreateObject(ADODB.Recordset)
F_reco.Open sélectionnez classid,classname,classlayer depuis ws_ecityclass où classparent=&iid& et classlist=0 ordre par ordre de classe Asc,conn,1,1
F_total=F_reco.recordcount
si F_total>0 alors
pour F_n=1 à F_total
F_classid=F_reco(0)
F_classname=F_reco(1)
F_classlayer=F_reco(2)
format_i=format_i+1
réponse.write <option
si F_classlayer=0 alors réponse.write value= & F_classid
si id = F_classid alors réponse.write sélectionné
réponse.écrire >
pour F_m=format_i à 2 pas -1
réponse.write
si F_m=2 alors
si F_n=F_total alors réponse.write └ sinon réponse.write ├
finir si
suivant
réponse.write F_classname & </option>
si F_classlayer=1 alors appelez listecityclass_(id,F_classid) 'Appelez cette fonction
F_reco.movenext
format_i=format_i-1
suivant
finir si
F_reco.close : définir F_reco=rien
Fin du sous-marin