Avatar billede chr.kj Nybegynder
25. november 2008 - 15:47 Der er 4 kommentarer og
1 løsning

Undgå samme banner vises samtidigt.

Jeg har en DB med nogle "bannere" i som indeholder
id, Url, Image , en beskrivelse om og banneret er aktivt.

Der vises 3 billeder af gangen samtidigt. Mit problem består i hvordan undgår jeg at samme billede/banner vises samtidigt?

Mit script ser sådan ud:

  Response.Buffer = True 

  Function Show()
    Randomize
    RandNum = Int(Rnd * Ialt) + 1
    Record.MoveFirst
    For i = 1 to RandNum - 1
      Record.MoveNext
    next
    If Not (Record.EOF Or Record.BOF) Then                   
    Response.Write "<div class=""pic""><a href='" & Record("Url") & "'><img src='" & Record("Image") & "' width='108' height='87' alt='" & Record("Beskrivelse") & "'></a></div>"
  Else
      Response.Write "Ingen banner i basen"
  end if
  end function

SQL = "SELECT count(*) as Found FROM Banner WHERE Aktiv='1'"
Set Record = objConn.Execute(SQL)

Ialt = Record("Found")

SQL = "SELECT * FROM Banner WHERE Aktiv='1'"
Set Record = objConn.Execute(SQL)

Show()
Show()
Show()

De 3 Show() er scriptet der kalder funktionen med banneret.

Jeg kan ikke rigtig se hvor jeg skal sætte valideringen ind.

På forhånd tak for hjælpen.
Avatar billede hmortensen Nybegynder
25. november 2008 - 15:59 #1
Du kan nøjes med at hente 3 tilfældige og unikke poster fra den tabel, og spare halvdelen af din kode.

Hvilken type database benytter du?
Avatar billede chr.kj Nybegynder
25. november 2008 - 20:12 #2
Jeg benytter en MySQL DB.

Men det du vil er, at hente 3 poster pr. gang i stedet for alle posterne - Er det korrekt forstået? Det var da en interessant løsning :)

Men hvordan kommer jeg så til at styre, at der er tale om forskellige poster hver gang?
Avatar billede hmortensen Nybegynder
25. november 2008 - 21:06 #3
Er lidt rusten i ASP'en, men flg. SQL udtræk bør virke:

SQL = "SELECT * FROM Banner WHERE Aktiv='1' ORDER BY RAND() LIMIT 3"
Set Record = objConn.Execute(SQL)

Do

  Response.Write "<div class=""pic""><a href='" & Record("Url") & "'><img src='" & Record("Image") & "' width='108' height='87' alt='" & Record("Beskrivelse") & "'></a></div>"

Record.MoveNext

Loop While Not Record.EOF
Avatar billede chr.kj Nybegynder
25. november 2008 - 22:29 #4
Ahh.. jamen det virker jo perfekt :D

Smid et svar og tak for hjælpen :D
Avatar billede hmortensen Nybegynder
25. november 2008 - 22:47 #5
Det var så lidt.
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
Kurser inden for grundlæggende programmering

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