Visualizzazione dei risultati da 1 a 5 su 5

Discussione: calendario eventi

  1. #1
    Utente di HTML.it L'avatar di yro
    Registrato dal
    Sep 2003
    Messaggi
    2,916

    calendario eventi

    ciao a tutti.

    ho un problema con un calendario eventi.

    in sostanza io inserisco gli eventi nel db riferiti ad un tale giorno, e fin qua tutto ok.

    il problema è che se li inserisco dal giorno 10 in su... poi sul calendario i giorni risultano avere un evento dal giorno 1 al giorno 9 anche se l'evento esiste nel calendario non vengono segnalati.

    credo che il problema stia nel fatto che nel db vengono memorizzati come 01 02 eccetera mentre nel calendario come 1 2 eccetera... posto il codice, che ovviamente non è mio ed è un po lungo...

    pagina delle funzioni: e nella riga in rosso cè il punto dove legge i giorni con evento:
    codice:
    <%
      TableWidth = 160
      BgColor = "#cccccc"
      CellColor = "#E2E2E2"
    
      dbName = "/mdb-database/calendar.mdb"
      Conn= "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & Server.MapPath(dbName)
    
      EditImage = "<font face=WingDings>" & chr(50) & "</font>"
      DeleteImage = "<font face=WingDings>" & chr(251) & "</font>"
      ToTopImage = "<font face=WingDings>" & chr(241) & "</font>"
      '*ToTopimage = "<img border=0 src=up.gif>"
    
      Session.LCID = 1040 
    '************************************************
    '*****           FUNCTIONS              *********
    '************************************************
    Sub DisplayCalendar(mMonth, yYear)
      
      dDay = DateSerial(yYear,mMonth,1)
      mMonth = Month(dDay)
      yYear = Year(dDay)
      FirstDayOfMonth =  Weekday(dDay)
    
      '## Display the Top of Calendar ##
      CALL DisplayCalendarTop(dDay)
    
      '## Start Displaying the Actual Calendar ##
      Response.Write "<Table Align=center width=" & TableWidth & " CellPadding=1 CellSpacing=1 Border=0 BgColor=" & BgColor & ">" & vbCrlf
      Response.Write "<TR Valign=Top Align=Center BgColor=" & bgcolor & ">" & vbCrlf
      For i = vbSunday To vbSaturday 
         Response.Write  "<TD><Font Size='-2'>" & left(WeekDayName(i), 1) & "</Font></TD>" & vbCrlf
      Next
      Response.Write "</TR>" & vbCrlf
      '## Set dDay to the First day of the month ##
      dDay = DateSerial(yYear,mMonth,1)
      FOR j=1 to 6
     	Response.Write "<TR>" & vbCrlf
    	    FOR i=vbSunday to vbSaturday
      	      CellStr="<Font size=-3></Font>" 
    	      Color=cellcolor
    	      If WeekDay(dDay) = i and Month(dDay) = mMonth then 
    		  '## Set Color to Yellow if Current Day
    	          if (Day(dDay) = Day(now)) and (Month(dDay) = Month(now)) and (Year(dDay) = Year(now)) then Color="Yellow"
            	  CellStr = "<Font size=-2>" &  Day(dDay)  & "</Font>
    "
    		  	  '## Get the Memo Field out of Database for current Date
    			  Memo = GetCellData(dDay)
    		          IF Memo <> "" then 	
       			     '## Format Cell String if there is a Memo ##	
     CellStr ="<a href=eventi.asp?id=" & dDay & "><Font size=-2 color=#ff0000>" &  Day(dDay)  & "</Font>"  &  "</a>"
    			     '## End Calendar Details ##
            		  End If
            	 '## Get the Next Day 
    	          dDay = DateAdd("d",1,dDay)
    	      End If
    	      Response.Write "<TD vAlign=top align=center BgColor='" & Color & "'>"  & CellStr & "</TD>" & vbCrlf
    	    NEXT   '## FOR i=vbSunday to vbSaturday ##
       	Response.Write "</TR>" & vbCrlf
      NEXT  '## For j=1 to 6 ##
      Response.Write "</Table>" & vbCrlf
    
    
    End Sub
    '************************************************
    '************************************************
    Sub DisplayCalendarTop(dDay)
      Title = MonthName(month(dDay)) & " " & year(dDay)
      pPREVIOUS = dateadd("m",-1, dDay)
      nNEXT = dateadd("m",1,dDay)
    
      Response.Write "<a name=top><TABLE Align=center CELLPADDING=0 CELLSPACING=0 WIDTH=" & TableWidth & " BORDER=0>" & vbCrlf
      Response.Write "<TR VALIGN=MIDDLE ALIGN=CENTER>" & vbCrlf
      Response.Write "<TD BgColor='" & BgColor & "' ALIGN=center>" & vbCrlf
      Response.Write "<font FACE=WingDings>" & chr(239) & "</font>" & vbCrlf
      Response.Write "</TD>" & vbCrlf
      Response.Write "<TD BgColor='" & BgColor & "' ALIGN=center>" & vbCrlf
      Response.Write "" & Title & "" & vbCrlf
      Response.Write "</TD>" & vbCrlf
      Response.Write "<TD BgColor='" & BgColor & "' ALIGN=center>" & vbCrlf
      Response.Write "<font FACE=WingDings>" & chr(240) & "</font>" & vbCrlf
      Response.Write "</TD>" & vbCrlf
      Response.Write "</TR>" & vbCrlf
      Response.Write "</TABLE>" & vbCrlf
    End Sub
    '************************************************
    '************************************************
    Function GetCellData(dDay)
     Set rs = Server.CreateObject("ADODB.Recordset")
     sSQL = "Select [date],[memo] from CalendarInfo where Date=#" & dDay & "#"
     rs.open sSQL, Conn,3,3
     GetCellData = ""
     if rs.recordcount > 0 then GetCellData=rs("memo")
     rs.close
     Set rs = nothing
    End Function
    '************************************************
    '************************************************
    Sub DisplaySmallCalendar(mMonth, yYear)
    
      Title = "<a href=calendar.asp?month=" & mMonth & "&year=" & yYear & ">" & MonthName(mMonth) & " " & yYear & "</a>"
    
      dDay = DateSerial(yYear,mMonth,1)
      mMonth = Month(dDay)
      yYear = Year(dDay)
      FirstDayOfMonth =  Weekday(dDay)
    
      Response.Write "<TABLE Align=center width=150 CELLPADDING=0 CELLSPACING=0 BORDER=1>" & vbCrlf
      Response.Write "<TR VALIGN=MIDDLE ALIGN=CENTER>" & vbCrlf
      Response.Write "<TD BgColor='" & BgColor & "' ALIGN=center>" & vbCrlf
      Response.Write "<font size=-2>" & Title & "</font>" & vbCrlf
      Response.Write "</TD>" & vbCrlf
      Response.Write "</TR>" & vbCrlf
      Response.Write "</TABLE>" & vbCrlf
    
      '## Start Displaying the Actual Calendar ##
      Response.Write "<Table width=150 Align=center CellPadding=3 CellSpacing=1 Border=1 BgColor='" & BgColor & "'>" & vbCrlf
      Response.Write "<TR Valign=Top Align=Center BgColor='" & bgcolor & "'>" & vbCrlf
      For i = vbSunday To vbSaturday 
         Response.Write  "<TD><Font Size='-3'>" & left(WeekDayName(i), 1) & "</Font></TD>" & vbCrlf
      Next
      Response.Write "</TR>" & vbCrlf
    
      '## Set dDay to the First day of the month ##
      dDay = DateSerial(yYear,mMonth,1)
    
      FOR j=1 to 6
    
     	Response.Write "<TR>" & vbCrlf
    
    	    FOR i=vbSunday to vbSaturday
    	      CellStr="<Font size=-3></Font>"
    	      Color=cellcolor
    	      If WeekDay(dDay) = i and Month(dDay) = mMonth then 
    
    		  '## Set Color to Yellow if Current Day
    	          if (Day(dDay) = Day(now)) and (Month(dDay) = Month(now)) and (Year(dDay) = Year(now)) then Color="Yellow"
    
            	  CellStr = "<Font size=-3>" &  Day(dDay)  & "</Font>"
    
            	 '## Get the Next Day 
    	          dDay = DateAdd("d",1,dDay)
    	      End If
    	      Response.Write "<TD vAlign=top align=left BgColor='" & Color & "'>"  & CellStr & "</TD>" & vbCrlf
    	    NEXT   '## FOR i=vbSunday to vbSaturday ##
    
       	Response.Write "</TR>" & vbCrlf
    
      NEXT  '## For j=1 to 6 ##
    
      Response.Write "</Table>" & vbCrlf
    
    End Sub
    %>
    questa è dove inserisco gli eventi:
    codice:
    
    <% 
    dim dDay,mMonth,yYear,memo,LeapYear,DaysInFeb,dDate,rs,sql
    
     dDay = request.form("dDay")
     mMonth = request.form("mMonth")
     yYear = request.form("yYear")
     memo = request.form("memo")
     memo = replace(memo, vbcrlf, "
    ")
     memo = replace(memo, "'","´")
      
     yYear= int(yYear)
     dDay = int(dday)
     mMonty = int(mMonth)
    
     Select Case mMonth
       case 4,6,9,11:  
          if dDay > 30 then 
    	 response.write "
    
    <Center><font size=-1>"
    	 response.write "There are only 30 days in the month of " & MonthName(mMOnth) & "
    "
             response.write "Click <font color=red>back</font> on your browser and try again"
             response.write "</font></Center>"
    	 'response.end
          end if
       case 2:  
           LeapYear = False
           if ((yYear Mod 4 = 0) And (yYear Mod 100 <> 0) Or (yYear Mod 400 = 0)) then  LeapYear=True
    	
           DaysInFeb = 28
           if LeapYear then DaysInFeb = 29
    
           if dDay > DaysInFeb  then 
    	 response.write "
    
    <Center><font size=-1>"
    	 response.write "There are only " & DaysinFeb & " days in the month of " & MonthName(mMOnth) & "
    "
             response.write "Click <font color=red>back</font> on your browser and try again"
             response.write "</font></Center>"
    	 'response.end    
           end if 
     End Select
    
     dDate = dateserial(yyear,mmonth,dday)
     
      Set rs = Server.CreateObject("ADODB.Recordset") 
      sSQL = "Select [memo],[date],[dateadded] from CalendarInfo"
      rs.open sSQL, Conn, 3, 3 
    
          rs.addnew
          rs("date") = dDate
          rs("DateAdded") = now()
          rs("memo") = memo
          rs.update
    
      rs.close
      Set rs = nothing
     Response.Redirect  "addnewcal.asp"
    %>
    se qualcuno ha qualche suggerimeto!
    E se avessi il dono della profezia e conoscessi tutti i misteri e tutta la scienza, e possedessi la pienezza della fede così da trasportare le montagne, ma non avessi la carità, non sono nulla.

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    CellStr ="<a href=eventi.asp?id=" & right("0"& dDay,2)  & "><Font size=-2 color=#ff0000>" &  Day(dDay)  & "</Font>"  &  "</a>"

    Roby

  3. #3
    Utente di HTML.it L'avatar di yro
    Registrato dal
    Sep 2003
    Messaggi
    2,916
    Originariamente inviato da Roby_72
    codice:
    CellStr ="<a href=eventi.asp?id=" & right("0"& dDay,2)  & "><Font size=-2 color=#ff0000>" &  Day(dDay)  & "</Font>"  &  "</a>"

    Roby
    il problema è che quella riga esiste se riconosce un evento presente nel db.
    nel mio caso non riconosce esserci l'evento e non mi da la possibilità di linkere il giorno.
    E se avessi il dono della profezia e conoscessi tutti i misteri e tutta la scienza, e possedessi la pienezza della fede così da trasportare le montagne, ma non avessi la carità, non sono nulla.

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    dDay = right("0"& DateSerial(yYear,mMonth,1),2)
    Roby

  5. #5
    Utente di HTML.it L'avatar di yro
    Registrato dal
    Sep 2003
    Messaggi
    2,916
    niente da fare... mi sa allora che il problema è altrove...
    E se avessi il dono della profezia e conoscessi tutti i misteri e tutta la scienza, e possedessi la pienezza della fede così da trasportare le montagne, ma non avessi la carità, non sono nulla.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.