04. marts 2008 - 20:03Der er
10 kommentarer og 1 løsning
brug måned fra querystring i datofelt
Hej derude.. Jeg har en kalender funktion som jeg gerne vil lave en lille smule om på...
jeg vil nemlig gerne lave den sådan at klalenderen vises i venstre side og så vises inhold i højre side....
kalenderen til venstre side har jeg og når man blader i den sættes kalender.asp?date=<%=DateAdd("m",-1,dtmFirstDate)%>
- altså en querystring date... på den højre side vil jeg nu gerne hive de 15 (hvis der er det) første poster ud fra marts måned og vise dem på højre side..
Så jeg tænker hvordan man siger at der skal vælges fra tabellen kalnder hvor måned i datofeltet = måned i querystring altså 01-<03>-2008
select * from kalender where (måned[dato]) = (måned[requst.querystring("date")]) order by ....
jamen så kom det næsten til at virke... bort set fra at den siger der ikke er noget record men alligevel viser kalenderen ved siden af at der er en post... måske jeg gør tingene to gang og mere besværligt for mig selv end det er så tror jeg viser lidt kode:
# kalender.asp <table width="403px" style="height:201px" id="table1" cellspacing="0" cellpadding="0"> <tr> <td class="frem" width="201px" id="kal" rowspan="2"> <% dtmDate = Request.QueryString("date") dtmToday = Date If dtmDate = "" Then dtmDate = Date Else dtmDate = CDate(dtmDate) End if intYear = Year(dtmDate) strMonth = MonthName(Month(dtmDate)) intDayOfMonth = Day(dtmDate) dtmFirstDate = DateAdd("d", (-intDayOfMonth)+1, dtmDate) intFirstDay = Weekday(dtmFirstDate, vbMonday) %> <div align="center"> <table class="frem" style="height:201px" border="0" width="201px" id="test" cellspacing="0" cellpadding="0"> <tr> <td width="28px" height="28" align="center"><b>Man</b></td> <td width="28px" height="28" align="center"><b>Tirs</b></td> <td width="28px" height="28" align="center"><b>Ons</b></td> <td width="28px" height="28" align="center"><b>Tors</b></td> <td width="28px" height="28" align="center"><b>Fre</b></td> <td width="28px" height="28" align="center"><b>Lør</b></td> <td width="28px" height="28" align="center"><b>Søn</b></td> </tr> <tr> <% For y = 1 to 6 If blnLast <> True Then Response.Write "<tr>" For x = 1 to 7 Response.Write "<td height=28px width=28px align=center" intLoopDay = intLoopDay + 1 If intLoopDay >= intFirstDay Then dtmCurDate = DateAdd("d", intLoopDay-intFirstDay, dtmFirstDate) If Month(dtmCurDate) = Month(dtmFirstDate) Then If dtmCurDate = dtmToday Then Response.Write " bgcolor='#999999'>" '<-- her kan der ændres style for dags dato else Response.Write ">" End If If Day(dtmCurDate)<=9 Then Response.Write "<a class='kal' id="""&dtmCurDate&""" href=""zoom.asp?date="&dtmCurDate&""">0"&Day(dtmCurDate)&"</a>" If Day(dtmCurDate)>9 Then Response.Write "<a class='kal' id="""&dtmCurDate&""" href=""zoom.asp?date="&dtmCurDate&""">"&Day(dtmCurDate)&"</a>" Response.Write "</div></td>" blnLast = False Else Response.Write "--</td>" blnLast = True End If Else Response.Write "--</td>" blnLast = True End if Next End If Next Response.Write "</font></td><tr>" %> <tr> <td colspan="7" height="100%" align="center"></td> <script type="text/javascript"> function appendEvent(a,b,c){ if(a.attachEvent){a.attachEvent("on"+b,c)} else if(a.addEventListener){a.addEventListener(b,c,false)} else{a["on"+b]=c} } appendEvent(window,"load",function(){ <%If Request.Querystring("date")="" Then strDate="[datostempel]>#01/"&Month(now)&"/"&Year(now)&"# AND [datostempel]<#31/"&Month(now)&"/"&Year(now)&"#" Else strDate="[datostempel]>#"&Request.Querystring("date")&"# AND [datostempel]<#"&DateAdd("d",-1,DateAdd("m",1,CDate(Request.Querystring("date"))))&"#" End If
Set Conn=Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/fpdb/kongeloge.mdb")
Set rs=Conn.Execute("SELECT [datostempel] FROM [kalender] WHERE "&strDate&"") If Not rs.EOF Then Response.Write "arrDates=""" i=0 Do While Not rs.EOF If i>0 Then Response.Write "," Response.Write rs("datostempel") i=i+1 rs.MoveNext Loop rs.Close%>".split(","); for(i=0;i<arrDates.length;i++){ if(document.getElementById(arrDates[i])){ document.getElementById(arrDates[i]).style.fontWeight="bold"; document.getElementById(arrDates[i]).style.color="#ff0000" } } <%End If%> }) </script> </tr> </table> </div> </td> <td width="1px"></td> <td class="fdrk" width="28" id="man" height="28" align="center"><p><a href="?date=<%=DateAdd("m",-1,dtmFirstDate)%>"><img border="0" src="../grafik/kalender/pil_prev.png" width="12px" height="12px" alt=""></a></td> <td class="fdrk" width="145" id="man" height="28" align="center"><font style="text-transform: uppercase"><b> <p style="margin-bottom: 0"><%=strMonth%></b> <%=intYear%></p></font></td> <td class="fdrk" width="28" id="man" height="28" align="center"><p><a href="?date=<%=DateAdd("m",1,dtmFirstDate)%>"><img border="0" src="../grafik/kalender/pil_next.png" width="12px" height="12px" alt=""></a></td> </tr> <% Function MyFormatDateTime(dato, datoFormat) MyFormatDateTime = FormatDateTime(dato, datoFormat) End Function Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("/fpdb/kongeloge.mdb") Conn.Open DSN SQL = "SELECT * FROM kalender WHERE Month(datostempel)=Month("&request.querystring("date")&")" Set rs = Conn.Execute(SQL) do while not rs.eof or rs.bof %> <tr> <td width="1px"></td> <td class="fdrk" width="201" id="man" height="173" align="center" valign="top" colspan="3"> <p align="left" style="margin-left: 10px; margin-right: 10px"><%=rs("datostempel")%></p> </tr> <% rs.movenext loop Conn.Close Set Conn = Nothing %> </table>
det er så ved min <%=rs("datostempel")%> jeg vil lave mit udtræk...
- det er en tabel hvor der er to celler - i venstre celle vises en kalender (månedsoversigt) - i højre side vil jeg gerne have at der vises poster som findes i den måned der vises på venstre side...
kalenderen på venstre side kan der bladres i vha querystring som styres på højre side, datoerne i kalenderen (venstre side) skrifter faver hvis der er en post på den givende dag....
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.