Tue, 18 Feb 2003 13:56:05 +0100, berigede "M@rk"
<unknown@vosborg.invalid> dk.edb.internet.webdesign.serverside.asp med:
>Er der nogen der kunne give et lille hint til, hvordan koden ser ud,
>hvis man skal "gnave" sig ned i gennem sådan en database?
Jeg kan da godt yderligere eksemplifisere, hvis dette måtte være
ønskeligt
id 1
navn peter
far ole
mor lone
id 2
navn hans
far peter
mor solvej
id 3
navn solvej
far marinus
mor lis
id 4
navn marinus
far ukendt
mor ukendt
id 5
navn lis
far ukendt
mor ukendt
Det jeg har forsøgt indtil videre, er endt i noget á la nedenstående -
som giver det første sæt forældre - men hvordan i alverden får jeg
gravet yderligere ned i databasen, så jeg kan lave et lille stamtræ?
Nedenstående kode er givetvis temmelig tåbeligt lavet, men man arbejder
jo ud fra det niveau man er kommet til ............ og jeg er altså ikke
kommet længere end dette
Function FindBarn(barn)
strSQL = "Select * From genealogi where gen_navn='" & barn & "'"
Set rs = Conn.Execute(strSQL)
Do
FindBarn = rs("gen_personid")
rs.MoveNext
Loop While Not rs.EOF
End Function
Function FindFar(barn)
strSQL = "Select * From genealogi where gen_navn='" & barn & "'"
Set rs = Conn.Execute(strSQL)
Do
if rs("gen_far") <> "" then fokusF = rs("gen_far")
rs.MoveNext
Loop While Not rs.EOF
if fokusF <> "" then
strSQLF = "Select * From genealogi where gen_navn='" &
fokusF & "'"
Set rs = Conn.Execute(strSQLF)
Do
FindFar = rs("gen_personid")
rs.MoveNext
Loop While Not rs.EOF
End If
End Function
Function FindMor(barn)
strSQL = "Select * From genealogi where gen_navn='" & barn & "'"
Set rs = Conn.Execute(strSQL)
Do
if rs("gen_mor") <> "" then fokusM = rs("gen_mor")
rs.MoveNext
Loop While Not rs.EOF
if fokusM <> "" then
strSQLM = "Select * From genealogi where gen_navn='" &
fokusM & "'"
Set rs = Conn.Execute(strSQLM)
Do
FindMor = rs("gen_personid")
rs.MoveNext
Loop While Not rs.EOF
End If
End Function
fokuspunkt = "hans"
liniestart = "<TABLE CELLSPACING=0 BORDER=1 CELLPADDING=2
width='80%'><tr>"
entrystart = "<td align='center'>"
entryslut = "</td>"
linieslut = "</tr></table>"
niveau = 1
baseline = liniestart & entrystart & fokuspunkt & entryslut &
linieslut
response.write baseline
DataStr = ""
' Do
fokusF = ""
fokusM = ""
BarnsID = FindBarn(fokuspunkt)
FarsID = FindFar(fokuspunkt)
MorsID = FindMor(fokuspunkt)
DataStr = DataStr & "(" & BarnsID & "," & FarsID & "," &
MorsID & ")"
Response.write DataStr
' entryline = liniestart & entrystart & Farsnavn &
entryslut & entrystart & Morsnavn & entryslut & linieslut
' response.write entryline
' sålænge fokusF og fokusM <> ""
' fokuspunkt = fokusF
' loop while fokusF <> "" or fokusM <> ""
Jeg håber, at nogen kan give mig et lille fingerpeg til, hvordan jeg
kommer videre?
/Mark
- som er helt klar til, at zappe ovenstående løsning og starte forfra
--
M@rk, the unknown @ vosborg.dk - ICQ #6564215
"When the rythm-section ain't making it
- go for it your self" ~ Ben Webster