webForumDet fria alternativet
Logga in / Bli medlem

Kalender.

ASP

3 svar · 330 visningar · startad av zeb

Medlem sedan nov. 200416 inlägg
Trådstart#1

Hej. Använder ett kalenderscript som jag hittade här på webforum, men jag vill nu kolla för varje datum om
det stämmer överens med ett par datum i en tabell i databasen. Hur ska jag göra?

...databas, recordset etc...

dtmDate = Date()

For i = 1 To WeekDay(DateSerial(Year(dtmDate), Month(dtmDate), "01"), vbMonday) - 1
  Response.Write("<td>&nbsp;</td>" & vbCrLf)
  intCount = intCount + 1
Next

intDays = Day(DateAdd("d", -1, DateAdd("m", 1, DateSerial(Year(dtmDate), Month(dtmDate), "01"))))

For i = 1 To intDays
  If intCount Mod 7 = 0 AND intCount > 0 Then Response.Write("</tr><tr>" & vbCrLf)
  response.write("<td align=right>")

   'med följande kollar jag om datumet stämmer med recordsetet.
  if day(objRS("blogDate")) = i AND month(objRS("blogDate")) = month(now) then
  response.write("<a href=view.asp?id=" & objRS("blog_id") & ">" & i &"</a>")
  else
  response.write(i)
  end if

  response.write("</td>" & vbCrLf)
  'Response.Write("<td>" & i & "</td>" & vbCrLf)
  intCount = intCount + 1
Next

If intCount Mod 7 > 0 Then
  For i = (intCount Mod 7) + 1 To 7
    Response.Write("<td> </td>" & vbCrLf)
  Next
End If
Medlem sedan apr. 20022 743 inlägg
#2

Det gör du ju redan med koden

 'med följande kollar jag om datumet stämmer med recordsetet.
  if day(objRS("blogDate")) = i AND month(objRS("blogDate")) = month(now) then
  response.write("<a href=view.asp?id=" & objRS("blog_id") & ">" & i &"</a>")
  else
  response.write(i)
  end if
Medlem sedan nov. 200416 inlägg
#3

Nja. Var kanske lite oklar.
Har ju flera datum i databasen och som det är nu kommer den bara visa det sista. Skulle behöva loopa igenom databasen på någonvänster för att kolla på varje datum.

Medlem sedan apr. 20031 660 inlägg
#4

HEJ!

Jag håller med Poffe.
Om nu koden kollar mot ett recordset med händelser får du stega fram ett steg i rs:et när du har samma datum, för att i nästa varv kolla om nästa datum finns med i rs:et osv.

Eventuellt menar du kanske att samma datum har flera olika händelser, dvs när du stegar fram från ett sådant datum kommer du inte få fler träffar, eftersom datumloopen fortsätter framåt?

Lös det på följande sätt:
- antingen genom att sätta DISTINCT i sql:en, och länka till en sida som visar alla händelser
- kontrollera att nästa datum inte är samma som aktuellt, isåfall skriv ut den händelsen också osv

268 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
133 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)