13. marts 2003 - 18:40Der er
10 kommentarer og 1 løsning
Gennemløb
Hej Eksperter,
Jeg har et problem ;o) Jeg er igang med at lave noget script som skal teste om der findes noget i databasen, jeg kan give flg. oplysninger som i kan arbejde ud fra
Jeg har en database hvor jeg har 2 tabeller en som hedder sider, og en som hedder permissions
jeg vil nu have den til at gøre flg.
først finde ud af om der i dben findes en side som hedder test.asp og dets id samtidig er lig et id som findes i permissions.... og så bagefter vise hvad det er for et navn som står i permissions databasen....
Med version 7 af TeamShare tager Lector næste skridt og bygger en platform for AI-agenter, der i højere grad kan følge medarbejderen gennem hele arbejdsprocessen.
response.Write(pageAccessId) response.End() for counter=1 TO pageAccessId
mnuSQL = "SELECT * from Permissions where pagename='" & urlCheck & "' AND id=" & counter set menuRS = conn.execute(mnuSQL)
if menurs.eof or menurs.bof then response.Write("sluk") else
response.Write(menurs("id")) end if next
set menuRS = Nothing
Jeg har en tabel(users) hvor jeg har mine brugere, i den tabel er der id | name | permissions. I Permissions bliver så listet eks. 1,3,5 som id'er på sider i tabellen permissions.
Jeg starter så med lige at splitte disse op, dvs jeg får 1,3,5 som den skal løbe igennem i mnuSQL = "SELECT * from Permissions where pagename='" & urlCheck & "' AND id=" & counter
men jeg skal så have den til at stoppe genneløbet når jeg har fundet en "kombination" som virker... og hvis der ikke findes nogen i gennemløbet skal man have en fejl....
Der er flere måder, hvis jeg har forstået, hvad du mener.
Altså: Hvis der kun kommer "response.Write("sluk")" ud af det, skal du have en fejl - ellers skal du stoppe gennemløbet af for-løkken, når den første "response.Write("sluk")" kommer?
I så fald: Hvis du finder en kombination, der virker kan du skrive "exit for". Dette vil hoppe ud af for-løkken.
For at give en fejl, hvis du ikke får en kombination kan du sætte en variabel (f.eks. kaldet match) til 0 inden du kører gennem løkken. Hvis du får et match sættes den til 1 inden du kører "exit for".
Så kan du efter løkken checke variablen. Hvis den er 0 var der ingen kombinationer, der virkede - er den 1 er der fundet en.
Hmmm så bliver jeg nød til at ændre lidt på min lbound to ubound... for den skal ikke ændre på id'erne.. men hvorfor virker dette ikke? mig der er kørt fast og træt eller hvad??
do until rs.eof or rs.bof pageAccessId = split(rs("Permissions"),",") response.Write(pageAccessId) rs.movenext loop
HAr det her nu pageAccessId = split(rs("Permissions"),",") match = 0 for i = 0 to ubound(pageAccessId)
mnuSQL = "SELECT * from Permissions where pagename='" & urlCheck & "' AND id=" & pageAccessId(i) set menuRS = conn.execute(mnuSQL) if rs.eof or rs.bof then match = 0 else match = 1 exit for end if
next if match = 0 then response.Write("I loopet blev der ikke fundet nogle kombinationer...") end if
if match = 1 then response.Write("der blev fundet en ") end if response.End()
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.