Jag är lite fundersam.
I mitt nybygge(ett forum) så ville jag ha med två extra funktioner, som jag behöver lite förslag till.
Jag vill kunna räkna hur många inlägg sedan man sist var på sidan. Jag funderar lite grand på cookies, och det är väll rätt, men det går ju inte att sätta den efter datum. Det kan ju ha kommit några samma dar....
Är id en bra sak att utgå ifrån? Hur skulle då en SQL se ut?
Jag skulle också vilja visa vilka inslagg som man inte har läst, via en icon t ex. Cokkies även där, men hur?
If Request.Cokies("latestVisit") = "" Then
Response.Cokies("latestVisit") = Now
Else
Response.Cokies("latestVisit") = Request.Cokies("nextTime")
End If
Response.Cokies("nextTime") = Now
Response.Cokies("latestVisit").Expires = DateAdd("d", 30, Date)
Response.Cokies("nextTime").Expires = DateAdd("d", 30, Date)
I forumet:
If objRS("LatestThread") > Request.Cokies("latestVisit") Then
nyttInlägg
Else
ingetNyttInlägg
End If
Det senare skall ligga inne i loopen som loopar ut alla inlägg (objRS("LatestThread") innehåller det senaste datum som finns i antingen ett svar eller det första inlägget i tråden).
Hoppas att detta hjälper dig lite...
OBS! Jag fick inte skriva C O O K I E S för forumet, ändra det
Svar 1)
Nej jag tänkte att jag inte skulle ha inloggning, så där sprack det....!
Det här ser intresant ut, men jag måste fråga:
Menar du att jag skall lägga till ett nyt fält i databasen (objRS("LatestThread"),jag har redan ett datumfält som heter Datum)?
När du pratar om första sidan, så utgår jag att du menar t ex default.asp?
Den sista satsen, skall den då ligga på varje inlägg, som en förklaring till nytt eller gammalt inlägg?
Jag är jättetacksam för dom svar som jag har fått här på forumet, och det vore kul att lösa detta med!
Menar du att jag skall lägga till ett nyt fält i databasen (objRS("LatestThread"),jag har redan ett datumfält som heter Datum)?
Det beror ju på hur du har lagt upp det. Innehåller "Datum" det senaste datumet får tråden, eller har du ett datumfält för varje inlägg.
Ifall du har det senare så får du först hämta det senaste datumet och lägga i en variabel och sedan jämföra med den.
Den sista satsen, skall den då ligga på varje inlägg, som en förklaring till nytt eller gammalt inlägg?
Jag har gjort så här (skrivet ur huvudet så det lär innehålla fel ):
Do While Not objRS.Eof
If LatestThread > Request.Cokies("latestVisit") Then
newPost = "nytt"
Else
newPost = "-"
End If
'här skriver du din html-kod för hur du skriver ut inläggen
newPost & " | " & objRS("titel på inlägget") " & <br><br>"
objRS.MoveNext
Loop
Det här verkar ju vara kanon, men något fel är det.
Jag lägger alltså kakorna i Default.asp
If Request.kaka("latestVisit") = "" Then
Response.kaka("latestVisit") = date()
Else
Response.kaka("latestVisit") = Request.kaka("nextTime")
End If
Response.kaka("nextTime") = date()
Jag har ändrat now till date() det är så det är lagrat i databasen
På test så har jag skrivit ut kakan i index.asp och jag får up 2001-05-14.
På test så gick jag in i databasen och ändrade ett datum till 2001-05-16, det skulle alltså skrivit ut nytt, men icke.
Efter min FOR slinga (har ingen loop) så ligger ju denna:
Dim LatestThread,newPost
LatestThread = RS("Datum")
If LatestThread > Request.kaka("latestVisit") Then
newPost = "New"
Else
newPost = "-"
End If
Sen skrivs det ju ut som du skrev:
Response.Write newPost & " | "
Scriptet reagerar inte alls.Ändrar jag > till < så skrivs det ju ut annulunda, men den verkar inte som om den vill gämmföra med mitt RS.
Vad tror ni?
PS
Jag hoppas att ni förstår varför jag skriver KAKA?
DS