Function ShowJoke() Randomize RandNum = Int(Rnd * go("Show")) + 1 rs.MoveFirst For i = 1 to RandNum - 1 rs.MoveNext Next Response.Write("<center><img src=""img/smileys/smily" & rs("placering") &".gif""></center>" & "<p>" & Replace(rs("Joke"),vbCrLf, "<br>")) End Function
If WeekDay(Date()) = 0 Then Function ShowJoke() Randomize RandNum = Int(Rnd * go("Show")) + 1 rs.MoveFirst For i = 1 to RandNum - 1 rs.MoveNext Next Response.Write("<center><img src=""img/smileys/smily" & rs("placering") &".gif""></center>" & "<p>" & Replace(rs("Joke"),vbCrLf, "<br>")) End Function End If
If WeekDay(Date()) = 0 Then Function ShowJoke() Randomize RandNum = Int(Rnd * go("Show")) + 1 rs.MoveFirst For i = 1 to RandNum - 1 rs.MoveNext Next Response.Write(rs("kolonne1") & " " & rs("kolonne2")) End Function End If
Her er så det hele sammenlagt... <% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/jokedb.mdb")
SQL = "SELECT * FROM tblJokes" Set rs = Conn.Execute(SQL)
SQLCount = "SELECT Count(*) As Show FROM tblJokes" Set go = Conn.Execute(SQLCount)
Function ShowJoke() Randomize RandNum = Int(Rnd * go("Show")) + 1 rs.MoveFirst For i = 1 to RandNum - 1 rs.MoveNext Next Response.Write(Replace(rs("Joke"),vbCrLf, "<br>") & " " & Replace(rs("Joke"),vbCrLf, "<br>")) End Function %>
<% If WeekDay(Date()) = 0 Then Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/jokedb.mdb")
SQL = "SELECT * FROM tblJokes" Set rs = Conn.Execute(SQL)
SQLCount = "SELECT Count(*) As Show FROM tblJokes" Set go = Conn.Execute(SQLCount)
Function ShowJoke() Randomize RandNum = Int(Rnd * go("Show")) + 1 rs.MoveFirst For i = 1 to RandNum - 1 rs.MoveNext Next Response.Write(Replace(rs("Joke"),vbCrLf, "<br>") & " " & Replace(rs("Joke"),vbCrLf, "<br>")) End Function End If %>
*G* yep... :-) -ved ik' hvor meget du har fulgt med i mine svar.. men nogle gange om søndagen når man har tømmer mænd, kan jeg komme helt op på det 9 svar :-D
Hvis jeg har forstået dit spørgsmål rigtigt så skal du ved hver uge skift finde to nye (random) jokes som skal vises på din side hele ugen. Altså i løbet af ugen vil der ikke ske ændringer i de to jokes.
Hvis du skal skifte hver uge skal du vel havde en tabel som holder styr på hvilke to Jokes er valgt den uge. Ideen i det script jeg har lavet her er at man loader siden, tjekker på hvilke to jokes skal vises ved opslag i jokesToShow tabellen. Hvis man får et tomt recordset tilbage er det en ny uge og to nye random records skal vælges, samt jokesToShow tabellen opdateres med de to nye records. Derefter udskrives de to jokes som er valgt.
Eks på tabellen jokesToShow: ID : autonummer weekno : tal jokesNo : notat I denne tabel ligger du til at starte med eksvis ID=1 weekno=1 jokesNo = 1,2.
Så antager jeg du har en tabel men alle dine jokes i (jokestabel), hvor du som mininum har to kolonner: ID : autonnummer joketext : text eller notat
Det script som finder to random records er måske lidt i overkandten af hvad der er nødvendig for at finde to tal. Det er lavet så general at du bare ændre antalRandom = 2 til noget andet hvis du vil havde flere jokes. Ligelede vil det for en uge ikke finde samme random jokes.
<% set rs = server.CreateObject("ADODB.Recordset") set connetion = server.CreateObject("ADODB.Connection") connetion.Open "Data Source="& server.mappath("db.mdb") & ";Provider=Microsoft.Jet.OLEDB.4.0;"
SQL = "SELECT * FROM jokesToShow WHERE weekno = " & DatePart("ww",Date()) set rs = connection.execute(SQL) if rs.EOF OR rs.BOF then 'Tabel tom pga nu uge antalRandom = 2 Rs.Open "SELECT * FROM jokesTabel", connection,1,3 inDB = rs.RecordCount 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) strID = "" For i = Lbound(myArr) to Ubound(myArr) rs.move myArr(i),1 strID = strID & rs("ID") & "," next strID = Left(strID,len(strID)-1) Rs.Close SQL = "UPDATE jokesToShow SET jokesNo = '" & strID & "'" connection.execute(SQL) else strID = rs("jokesNo") end if
SQL = "SELECT * FROM jokesTabel WHERE ID IN (" & strID & ")" set rs = connection.execute(SQL) do while not rs.EOF Response.Write rs("joketext") & "<br>" loop connection.close %>
pisse iriterende når folk ikke kan lære at lukke *GG* jeg har lige et enkelt spørgsmål til medions hvorfor vælger du at lave det i en funktion kan det ikke lige så godt køre uden ???
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.