11. november 2002 - 22:00Der er
7 kommentarer og 1 løsning
Rotation
Jeg har sådan et færdig script, til en bannerstyring. Sådan at hver gang man klikker ind på min side, så er det en ny reklamebanner. Nu er det så jeg spørger, kan det lade sig gøre sådan, at f.eks. så er det den samme reklame hele dagen idag, og imorgen tager den så en anden tilfældig reklame fra databasen. Altså at den ikke skifter hver gang man klikker ind på siden, men istedet skifter hver dag, en slags "dagens reklame" ???
Hvis jeg har forstået dit spørgsmål rigtigt så skal du ved hver dag skifte/finde en ny (random) reklame som skal vises på din side hele dagen.
Hvis du skal skifte hver dag skal du vel havde en tabel som holder styr på hvilke reklame der er valgt den dag. Ideen i det script jeg har lavet her er at man loader siden, tjekker på hvilke reklame der skal vises ved opslag i "reklameToShow" tabellen. Hvis man får et tomt recordset tilbage er det en ny dag og en ny random record skal vælges, samt "reklameToShow" tabellen opdateres med den nye record. Derefter udskrives reklamen som er valgt.
Eks på tabellen jokesToShow: ID : autonummer dato : date/time reklameID : tal 'relation til en raklame tabel
Så antager jeg du har en tabel men alle dine reklamer i (reklametabel), hvor du som mininum har to kolonner, men det skal naturligvis tilpasses dit.: ID : autonnummer reklametext : text
<% 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 dato = date()" set rs = connection.execute(SQL) if rs.EOF OR rs.BOF then 'recodsetet tom pga nu dag
rs.Open "SELECT * FROM reklameTabel", connection,1,3 rndMax = rs.RecordCount Randomize rndNumber = Int((RND * rndMax)) 'Find et random nummer rs.move myArr(i),1 strID = rs("ID") rs.Close Set rs = Nothing SQL = "UPDATE reklameToShow SET reklameID = " & strID connection.execute(SQL) else strID = rs("reklameID") end if
SQL = "SELECT * FROM reklameTabel WHERE ID = " & strID set rs = connection.execute(SQL) if not rs.EOF then Response.Write rs("reklametext") & "<br>" end if connection.close %>
der var sku for mange fejl i koden.... men iden er den samme:
<% set rs = server.CreateObject("ADODB.Recordset") set connection = server.CreateObject("ADODB.Connection") connection.Open "Data Source="& server.mappath("db7.mdb") & ";Provider=Microsoft.Jet.OLEDB.4.0;"
SQL = "SELECT * FROM reklameToShow WHERE dato = date()" set rs = connection.execute(SQL) if rs.EOF OR rs.BOF then 'recodsetet tom pga nu dag rs.Close rs.Open "SELECT * FROM reklameTabel", connection,1,3 rndMax = rs.RecordCount Randomize rndNumber = Int((RND * rndMax)) 'Find et random nummer rs.move rndNumber,1 strID = rs("ID") rs.Close Set rs = Nothing SQL = "UPDATE reklameToShow SET reklameID = " & strID & ", dato = date()" connection.execute(SQL) else strID = rs("reklameID") end if
SQL = "SELECT * FROM reklameTabel WHERE ID = " & strID set rs = connection.execute(SQL) if not rs.EOF then Response.Write rs("reklametext") & "<br>" end if connection.close %>
ja det ser meget godt ud, men så er der jo mig der bestemmer, hvilken reklame der skal vises, det var ikke ideén. Vil gerne at der tages en tilfældig reklame til hver dag, ikke en jeg bestemmer.....
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.