Avatar billede dtm Nybegynder
11. november 2002 - 22:00 Der 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" ???

Håber nogen kan hjælpe...
Avatar billede eagleeye Praktikant
11. november 2002 - 22:26 #1
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
%>

Jeg håber du kan se ideen i det :)
Avatar billede eagleeye Praktikant
11. november 2002 - 22:27 #2
en lille skrive fejl:
Eks på tabellen jokesToShow:

Skal være:
Eks på tabellen reklameToShow:
Avatar billede eagleeye Praktikant
11. november 2002 - 22:28 #3
Damn en mere, denne SQL:
SQL = "UPDATE reklameToShow SET reklameID = " & strID

Rettes til:
SQL = "UPDATE reklameToShow SET reklameID = " & strID & ", dato = date()"
Avatar billede eagleeye Praktikant
11. november 2002 - 22:39 #4
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
%>
Avatar billede dtm Nybegynder
11. november 2002 - 22:41 #5
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.....
Avatar billede eagleeye Praktikant
11. november 2002 - 22:44 #6
Den vælger jo netop selv en tilfældig hver dag..

dog skal du i reklameToShow lige føste gang angive et tal i den første record.
Avatar billede eagleeye Praktikant
11. november 2002 - 22:45 #7
hmm de står måske ikke så tydeligt... men den vælger en tilfældig record her dag.
Avatar billede eagleeye Praktikant
20. november 2002 - 13:19 #8
Kom du vidre med det??
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester