13. maj 2002 - 09:50Der er
3 kommentarer og 4 løsninger
Random ... 6 forskellige.
Hej Eksperten :)
Jeg har lavet en random ting på min side. <% Set myConn = Server.CreateObject("ADODB.Connection") myConnStr = "" myConn.Open (myConnStr) Set rs = Server.CreateObject("ADODB.RecordSet") strSQL = "SELECT * FROM nyhed" rs.Open strSQL, myConn, 3, 1 rndMax = CInt(rs.RecordCount) if rndMax > 0 then Randomize rndNumber = Int((RND * rndMax)) rs.Move rndNumber 'Flyt til den valgte record
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.
Dim a Dim b Dim c Dim Arr(1 To 6) If rndMax > 5 Then 'Du kan kun få forskellige hvis der er mindst 6 Randomize Arr(1) = Int(Rnd * rndMax) For a = 2 To 6 Do c = False Arr(a) = Int(Rnd * rndMax) For b = 1 To a - 1 If Arr(b) = Arr(a) Then c = True Next Loop Until c = False Next for a = 1 to 6 rs.Move Arr(a) 'Flyt til den valgte record link(a) = rs("link") billedlink(a) = rs("billedurl") Next End If
Bemærk at jeg også har skrevet dine "link" og "billedlink" variabler som arrays (i den sidste for-next). Du skal huske først at erklære dem som sådan. Hvis ikke skal du bare skrive de 3 linier i løkken 6 gange.
Det er noget jeg selv er blevet RET irriteret over et par gange eller 20 prøv med: --Kode <% randomize timer Set myConn = Server.CreateObject("ADODB.Connection") myConnStr = "" myConn.Open (myConnStr) Set rs = Server.CreateObject("ADODB.RecordSet") strSQL = "SELECT * FROM nyhed" rs.Open strSQL, myConn, 3, 1 rndMax = CInt(rs.RecordCount) if rndMax > 0 then Randomize rndNumber = Int((RND * rndMax)) rs.Move rndNumber 'Flyt til den valgte record
Jeg har lavet dette script som finder X antal tilfældige record og udskriver dem, du kan rette antalRandom til 6 eller få inspiration til dit eget script.:
antalRandom = 15 Rs.Open "SELECT * FROM abbtabel", myConn,1,3 inDB = rs.RecordCount If inDB > antalRandom then Randomize timer newId = Int (rnd*inDB) strIndex = "," & newid & "," indexFound = 1 Do while indexFound < antalRandom Do Newid = Int (rnd*inDB) Loop while inStr(strIndex,"," & newid & ",") > 0 strIndex = strIndex & newid & "," indexFound = indexFound + 1 Loop strIndex = mid (strIndex,2,len(strIndex)-2) myArr=split(strIndex,",",-1) For i = Lbound(myArr) to Ubound(myArr) rs.move myArr(i),1
Response.write rs("kolonnenavn") & "<br>"
next end if Rs.Close
Synes godt om
Ny brugerNybegynder
Din løsning...
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.