webForumDet fria alternativet

Kalender.

3 svar · 328 visningar · startad av zeb

zebMedlem sedan nov. 200416 inlägg
#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
PoffeMedlem 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
zebMedlem 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.

J.N.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

125 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)