Avatar billede funstuff.dk Nybegynder
24. august 2002 - 20:44 Der er 6 kommentarer og
1 løsning

Vis kun id fra db en gang..

Hej..

Er der nogle der kan hjælpe mig med et eks på hvordan jeg kan lave en asp kode så den kun viser et udtræk en gang..

Jeg har et random udtræt:

set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM tabel"
rs.Open SQL, Conn, 1

randomize
rs.Move(int(rs.RecordCount * rnd))

og en cookie der ser sådan ud når posten vises:
Response.Cookies("tjek")(Request("id")) = "vist"

Hvordan laver jeg så den tjekker om den er blevet vist inden den udtrækker det fra databasen.?

På forhånd tak
Avatar billede thesurfer Nybegynder
24. august 2002 - 21:23 #1
prøv at kigge nærmere på denne lektion på www.html.dk (Arrays):

http://www.html.dk/tutorials/asp/lektion8.asp

/theSurfer.
Avatar billede eagleeye Praktikant
24. august 2002 - 21:37 #2
Hvad hvade du tænkt der skulle ske når alle er vist ??
Avatar billede eagleeye Praktikant
24. august 2002 - 21:43 #3
Umilbart ville jeg forslå at lave en liste med ID med komma mellem i cookien i stedet for at lave en ID med værdien vist ...:

Response.Cookies("tjek")("id") = Response.Cookies("tjek")("id") & "," & rs("id")

Så kan du bruge cookien i SQL sætningen i stil med:

SQL = "SELECT * FROM tabel WHERE ID NOT IN(" & Request.Cookies("tjek")("id") & ")"

Så har du et recordet kun med records som ikke er vist.
Avatar billede eagleeye Praktikant
24. august 2002 - 22:03 #4
Jeg har lige skruet dette eks sammen:

<html>
<head><title></title></head>
<body>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open Server.MapPath("DATABASEFIL.mdb")
set rs = Server.CreateObject("ADODB.Recordset")

vistIDer = Request.Cookies("tjek")("id")

Response.Write "For test : " & vistIDer & "<br><br>"

SQL = "SELECT * FROM tabel"
if vistIDer <> "" then
  SQL = SQL & " WHERE ID NOT IN (" & vistIDer & ")" 
end if

rs.open SQL, conn, 1

if rs.eof then
  Response.Write "Alle ID vist cookien bliver slettet"
  Response.Cookies("tjek")("id") = ""
else
  randomize
  rs.Move(int(rs.RecordCount * rnd))
  'UDSKRIV Recorden
  Response.Write Rs("id")

  if vistIDer = "" then
    vistIDer = rs("id")
  else
    vistIDer = vistIDer & "," & rs("id")
  end if

  Response.Cookies("tjek")("id") = vistIDer
end if

rs.Close
conn.close
set rs=nothing
set conn=nothing
%>
</body>
</html>
Avatar billede funstuff.dk Nybegynder
24. august 2002 - 22:14 #5
når alle er vist ska der bare stå at der ikke nogle nye..
Avatar billede eagleeye Praktikant
24. august 2002 - 22:34 #6
Ok så retter du bare disse to linier:

  Response.Write "Alle ID vist cookien bliver slettet"
  Response.Cookies("tjek")("id") = ""

Til denne ene linie:

  Response.Write "Der er ikke nogle nye indlæg"
Avatar billede funstuff.dk Nybegynder
24. august 2002 - 23:11 #7
takker..

brugte den her måde:
SQL = "SELECT * FROM tabel WHERE ID NOT IN(" & Request.Cookies("tjek")("id") & ")"
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