Avatar billede fun22 Nybegynder
11. december 2005 - 16:10 Der er 9 kommentarer og
1 løsning

Den udskriver kun en dato?

Hej...

Jeg har en kalender funktion hvor man kan tilføje aftaler, og det går også fint med at tilføje, men den vil kun udskrive en post i databasen..
Og jeg kan simpel hen ikke finde ud af hvad jeg skal gøre for at få den til at udskrive alle..

<br><font color="#000080"><b>Udlejning af materialegården</b></font>
<%
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 cellspacing="0" cellpadding="2" border="0" valign="top" style="border: 1px solid rgb(0,0,0)">
<tr>
<td colspan="7" align="center" bgcolor="#000080"><b><font color=#ffffff><%=Ucase(left((strMonth),1))&Mid(strMonth,2)%></font></b></td>
</tr>
<tr>
<td align="center">Man</td>
<td align="center">Tir</td>
<td align="center">Ons</td>
<td align="center">Tor</td>
<td align="center">Fre</td>
<td align="center">Lør</td>
<td align="center">Søn</td>
</tr>

<%

For y = 1 to 6
  If blnLast <> True Then
    Response.Write "<tr>"
    For x = 1 to 7
      Response.Write "<td align=center>"
      intLoopDay = intLoopDay + 1
      If intLoopDay >= intFirstDay Then
        dtmCurDate = DateAdd("d", intLoopDay-intFirstDay, dtmFirstDate)

        If Month(dtmCurDate) = Month(dtmFirstDate) Then
             
          SQL = "SELECT * FROM bs_kalender WHERE start<='" & year(dtmCurDate) & "-" & month(dtmCurDate) & "-" & day(dtmCurDate) & "' AND '" & year(dtmCurDate) & "-" & month(dtmCurDate) & "-" & day(dtmCurDate) & "' <=slut"
          Set rs = Conn.Execute(SQL)

          If NOT(Rs.BOF AND Rs.EOF) Then
                 
          start = rs("start")
          slut = rs("slut")
         
          start = FormatDateTime(start, vbGeneralDate)
          slut = FormatDateTime(slut, vbGeneralDate)
       
          If dtmCurDate = dtmToday Then
            Response.Write "<strong>"
          End If
         
          if rs("godkendt") = "1" then
              if dtmCurDate >= cdate(start) AND dtmCurDate <= cdate(slut) then
              Response.Write "<font color=#00CC00><a href='java script:alert(""Beklager men materielgården er desværre udlejet i den pågældende periode. Kontakt venligst viseværten på 38 87 51 95, hvis du har spørgsmål."")' class=calender2>"&Day(dtmCurDate)&"</a></font>"
              else
              Response.Write "<a href='udlej.asp' class=calender>"&Day(dtmCurDate)&"</a>"
              end if             
          else
              if dtmCurDate >= cdate(start) AND dtmCurDate <= cdate(slut) then
              Response.Write "<font color=#ff0000><a href='java script:alert(""Beklager men materielgården er desværre udlejet i den pågældende periode. Kontakt venligst viseværten på 38 87 51 95, hvis du har spørgsmål."")' class=calender1>"&Day(dtmCurDate)&"</a></font>"
              else
              Response.Write "<a href='udlej.asp' class=calender>"&Day(dtmCurDate)&"</a>"
              end if 
          end if

            else
              Response.Write "<a href='udlej.asp' class='calender'>"&Day(dtmCurDate)&"</a>"
          end if
       
          Response.Write "</strong></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 bgcolor="#000080" colspan="3"><b>
<font color=#ffffff>
<a href="?date=<%=DateAdd("m",-1,dtmFirstDate)%>">Forrige</a></b></td>
<td bgcolor="#000080">&nbsp;</td>
<td bgcolor="#000080" colspan="3" align="right"><b><a
href="?date=<%=DateAdd("m",1,dtmFirstDate)%>">Næste</a></b>
</font>
</td>
</tr>
</table>
</div>
Avatar billede nielle Nybegynder
11. december 2005 - 17:45 #1
Måske noget i denne stil?

<br><font color="#000080"><b>Udlejning af materialegården</b></font>
<%
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 cellspacing="0" cellpadding="2" border="0" valign="top" style="border: 1px solid rgb(0,0,0)">
<tr>
<td colspan="7" align="center" bgcolor="#000080"><b><font color=#ffffff><% =UCase(Left(strMonth, 1)) & Mid(strMonth, 2) %></font></b></td>
</tr>
<tr>
<td align="center">Man</td>
<td align="center">Tir</td>
<td align="center">Ons</td>
<td align="center">Tor</td>
<td align="center">Fre</td>
<td align="center">Lør</td>
<td align="center">Søn</td>
</tr>

<%
For y = 1 To 6
    If blnLast <> True Then
        Response.Write "<tr>"

        For x = 1 to 7
            Response.Write "<td align=center>"
            intLoopDay = intLoopDay + 1
            If intLoopDay >= intFirstDay Then
                dtmCurDate = DateAdd("d", intLoopDay-intFirstDay, dtmFirstDate)

                If Month(dtmCurDate) = Month(dtmFirstDate) Then
                    SQL = "SELECT * FROM bs_kalender WHERE start<='" & Year(dtmCurDate) & "-" & Month(dtmCurDate) & "-" & Day(dtmCurDate) & "' AND '" & Year(dtmCurDate) & "-" & Month(dtmCurDate) & "-" & Day(dtmCurDate) & "' <=slut"
                    Set rs = Conn.Execute(SQL)

                    found = False
                    Do While Not rs.EOF
                        start = rs("start")
                        slut = rs("slut")
         
                        start = FormatDateTime(start, vbGeneralDate)
                        slut = FormatDateTime(slut, vbGeneralDate)
       
                        If dtmCurDate = dtmToday Then
                            Response.Write "<strong>"
                        End If
         
                        If rs("godkendt") = "1" Then
                            If dtmCurDate >= CDate(start) And dtmCurDate <= CDate(slut) Then
                                Response.Write "<font color=#00CC00><a href='java script:alert(""Beklager men materielgården er desværre udlejet i den pågældende periode. Kontakt venligst viseværten på 38 87 51 95, hvis du har spørgsmål."")' class=calender2>" & Day(dtmCurDate) & "</a></font>"
                            Else
                                Response.Write "<a href='udlej.asp' class=calender>" & Day(dtmCurDate) & "</a>"
                            End If
                        Else
                            If dtmCurDate >= CDate(start) And dtmCurDate <= CDate(slut) Then
                                Response.Write "<font color=#ff0000><a href='java script:alert(""Beklager men materielgården er desværre udlejet i den pågældende periode. Kontakt venligst viseværten på 38 87 51 95, hvis du har spørgsmål."")' class=calender1>" & Day(dtmCurDate) & "</a></font>"
                            Else
                                Response.Write "<a href='udlej.asp' class=calender>" & Day(dtmCurDate) & "</a>"
                            End If
                        End If

                        If dtmCurDate = dtmToday Then
                            Response.Write "</strong>"
                        End If

                        rs.MoveNext
                    Loop

                    If Not found Then
                        Response.Write "<a href='udlej.asp' class='calender'>" & Day(dtmCurDate) & "</a>"
                    End If
       
                    Response.Write "</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 bgcolor="#000080" colspan="3"><b>
<font color=#ffffff>
<a href="?date=<% =DateAdd("m", -1, dtmFirstDate) %>">Forrige</a></b></td>
<td bgcolor="#000080">&nbsp;</td>
<td bgcolor="#000080" colspan="3" align="right"><b><a
href="?date=<% =DateAdd("m", 1, dtmFirstDate) %>">Næste</a></b>
</font>
</td>
</tr>
</table>
</div>
Avatar billede fun22 Nybegynder
12. december 2005 - 18:31 #2
nej ikke rigtigt.. Nu udskriver den blot dobbelt af den dato der er noget ved..

I databasen er der en registrering fra den 10-12-2005 til den 11-12-2005 som vises fint.. Så er der en mere i samme månede som ikke vises.. Hvilket vil sige at den kun viser den første post i databasen..

Du kan se her hvordan det ser ud..

http://schneeklothsvej.dk/

Det er med den kode du kom med..
Avatar billede nielle Nybegynder
13. december 2005 - 20:03 #3
Når du skriver at "Nu udskriver den blot dobbelt af den dato der er noget ved", mener du så det der med at den skriver 1010 og 1111?

December
Man Tir Ons Tor Fre Lør Søn
- - - 1 2 3 4
5 6 7 8 9 1010 1111
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -
Avatar billede nielle Nybegynder
13. december 2005 - 20:25 #4
Prøv - i din originale kode - at ændre:

If NOT(Rs.BOF AND Rs.EOF) Then

- til:

If Not Rs.EOF Then
Avatar billede fun22 Nybegynder
13. december 2005 - 20:38 #5
Tak skal du have ;) Det virkede.. Smider du lige et svar?

Kan du hjælpe med en ekstra ting..

Jeg har en sql der ser sådan her ud:

Insert into bs_kalender (navn, husnr, etage, tlf, start, slut, email, godkendt)values( 'Jesper', '12', '1', '20276790', '21-12-2005', '22-12-2005', 'jtp@jtponline.dk', '0')

Hvorfor gemmer den ikke datoerne i databasen? Felterne i db'en er dato typen..
Avatar billede nielle Nybegynder
13. december 2005 - 21:45 #6
Det fleste databaser vil geren have datoer serveret på formen yyyy-mm-dd - så prøv i stedet for med:

Insert into bs_kalender (navn, husnr, etage, tlf, start, slut, email, godkendt)values( 'Jesper', '12', '1', '20276790', '2005-12-21', '2005-12-22', 'jtp@jtponline.dk', '0')
Avatar billede nielle Nybegynder
13. december 2005 - 21:45 #7
... og et svar :^)
Avatar billede fun22 Nybegynder
14. december 2005 - 16:47 #8
okay men hvordan får jeg det lavet om? Jeg har en variable hvori datoen står som dd-mm-yyyy.. Kan man konvatere det?
Avatar billede nielle Nybegynder
14. december 2005 - 22:56 #9
En mulighed:

GlDate = "dd-mm-yyyy"

Dd = Left(GlDate, 2)
Mm = Mid(GlDate, 4, 2)
Yyyy = Right(GlDate, 4)

NyDate = Yyyy & "-" & Mm & "-" & Dd
Avatar billede fun22 Nybegynder
15. december 2005 - 20:13 #10
takker.. det virkede ;)
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