webForumDet fria alternativet

Kalender i ASP

ASP

21 svar · 916 visningar · startad av liverpool

Medlem sedan nov. 200468 inlägg
Frågan#1

Finns där någon snäll själ som kan hjälpa mig att bygga en måndaskalender i ASP??

Språk: ASP
Databas: Mysql

Jag har följande tabeller i min databas:

Kalender:
KalenderID - Unikt id
KalenderDatum - Datum
KalenderTid - Tid
typkalenderID - Relation med Typkalender
kalenderText - Text
LagID - Relation med Lag

Lag
LagID - unikt id
LagNamn - Text

Typkalender:
typkalenderID - unikt id
typkalenderBenamning - Text
Nu skall man visa kalender för varje lag för sig själv.

Lag: P-16

« December JANUARI 2007 Februari »

Vecka 1

1 Mån 19:00: Träning:
2 Tis
3 Ons 20.00: Seriematch: Liverpool - Anderslöv
4 Tors
5 Fre
6 Lör
7 Sön - Röd text

Vecka 2
8 Mån
9 Tis
10 Ons
11 Tors
12 Fre
13 Lör
14 Sön - röd text

osv..

Medlem sedan nov. 200468 inlägg
#2

Någon som vet

Någon som vill hjälpa mig?

Medlem sedan juni 20019 519 inlägg
#3

Har du gjort någon kod? Annars är det i forumet Jobb & Tjänster (ideella) som det gäller. Kollar även http://www.webforum.nu/forumdisplay.php?f=148 kanske finns ett färdigt script för dig att bygga på.

Medlem sedan nov. 200468 inlägg
#4

Hjälp med kod

Kan någon hjälpa mig med följande:

  1. Gjort en sida som listar lagen
  2. Kalendern skall bara visa det laget jag valt på förgående sida.

exp:

sida 1:

P-16 har id=1
P-15 har id=2
osv

Nu vill jag om man väljer P-16 skall kalendern bara visa p-16 händelser i kalendern.

Hittade ett script på nätet:

<%@ Language=VBScript %>
<% Option Explicit %>
<!--#include file="nameday.inc"-->
<%
Dim dDate, dYear, Conn, rs,dMonth, dDaysInMonth, Output, iCounter, sClass, sMonthName, iCounter2
Dim iLinesize, sHead, sql, iWeekNo, sColor, sNclass, sValid

If Request.QueryString("datum") = "" Then
dDate = Date
Else
dDate = Request.QueryString("datum")
End If

dYear = Year(dDate)
dMonth = Month(dDate)
sMonthName = MonthName(dMonth)
dDaysInMonth = Day(DateAdd("d", -1, DateSerial(dYear, dMonth + 1, 1)))

Function dDayName(iCounter)
dDayName = WeekdayName(WeekDay(dYear & "-" & dMonth & "-" & iCounter),False,1)
dDayname = UCase(Left(dDayName,1)) & Right(dDayName, Len(dDayName) - 1)
End Function

Function sUpperMonthName(sMonth)
sUpperMonthName = UCase(Left(sMonth,1)) & Right(sMonth, Len(sMonth)-1)
End Function

Function DayCount(iCounter)
DayCount = DateDiff("d",dYear & "-01-01",dYear & "-" & dMonth & "-" & iCounter,2,1) + 1
End Function

Set Conn = Server.CreateObject("ADODB.Connection")

'********** Start Access ************
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("site.mdb")&";"

sql = " select id, rubrik, detalj, slutdatum, "
sql = sql & " FORMAT$(startdatum, 'yyyy-mm-dd') as datum1,"
sql = sql & " FORMAT$(frantid, 'hh:mm') as ftid,"
sql = sql & " FORMAT$(tilltid, 'hh:mm') as ttid"
sql = sql & " from tbl_calender"
sql = sql & " where startdatum like '" & Left(dDate,7) & "%'"
sql = sql & " order by frantid asc"
'********** Slut Access ************

Set RS = Conn.Execute (sql)

%>
<html>
<head>
<style>
A:link {text-decoration: none; color:navy;}
A:visited {text-decoration: none; color:navy;}
A:active {text-decoration: none; color:#CC0000;}
A:hover {text-decoration: underline; color:#CC0000;}
.BoldRed {font-family : Arial, Helvetica; font-size : 16pt; color : Red; font-weight: bold}
.BoldNavy {font-family : Arial, Helvetica; font-size : 16pt; color : Navy; font-weight: bold}
.MediumNavy {font-family : Verdana, Arial, Helvetica; font-size : 12px; color : Navy;font-weight: bold;position: relative}
.Namn {font-family : Verdana, Arial, Helvetica; font-size : 11px; color : navy}
.rNamn {font-family : Verdana, Arial, Helvetica; font-size : 11px; color : red}
.CalenderTimeRubrik {font-family : Verdana, Arial, Helvetica; font-size : 11px; color : black; font-weight: bold}
.CalenderSmall {font-family : Verdana, Arial, Helvetica; font-size : 10px; color : black}
.CalenderTime {font-family : Verdana, Arial, Helvetica; font-size : 11px; color : brown}
.CalenderxSmall {font-family : Tahoma, Helvetica; font-size : 9px; color : black}
</style>

<title>Månadskalender</title>
</head>
<body bgcolor="#ffffff">
<center>
<table width=500 border=0 cellspacing=0 cellpadding=2>
<tr>
<td>
<table width=500 border=0 cellspacing=0 cellpadding=0>
<tr>
<td class=MediumNavy align=left width=100><a href="calender.asp?datum=<%= DateAdd("m",-1,dDate) %>&<%Request.QueryString("teamID")%>">«
<%= sUpperMonthName(MonthName(Month(DateAdd("m",-1,dDate)))) %></a></td>
<td align=center><span class=BoldNavy><%= sUpperMonthName(sMonthName) & " " & dYear %></span><br></td>
<td class=MediumNavy align=right width=100><a href="calender.asp?datum=<%= DateAdd("m",1,dDate) %>&<%Request.QueryString("teamID")%>">
<%= sUpperMonthName(MonthName(Month(DateAdd("m",1,dDate)))) %> »</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width=100% border=0 cellspacing=0 cellpadding=0>
<tr>
<%

iCounter = 1
  Do While iCounter \<= dDaysInMonth
    Select Case dDayName(iCounter)
	      Case "Söndag" 
  	        sClass = "BoldRed"
  	        sNclass = "rNamn"
   	        sColor = "#EEEEEE"
  		iLinesize = 3
	      Case "Lördag"
            sNclass = "rNamn"
            sColor = "FFFFff"
            iLinesize = 1
	      Case Else
            sClass = "BoldNavy"
            sNclass = "Namn"
            sColor = "FFFFFF"
            iLinesize = 1
      End Select

      If CInt(Month(Date) & Day(Date)) = CInt(dMonth & iCounter) Then
	        sColor = "#FFFFCC"
      End If

      Response.Write "\<tr bgcolor=" & sColor & "\>\<td align=center width=30\>" & VbCrLf 

      Output = "" & VbCrLf
      Output = Output & "\<span class=" & sClass & "\>" & iCounter & "\</a\>\</span\>\</td\>" & VbCrLf
      Output = Output & "\<td class=" & sNclass & " width=95 valign=top\>" & dDayName(iCounter) & "\</span\>" & VbCrLf
      Output = Output & "\<span class=CalenderxSmall\>&nbsp;&nbsp;" & DayCount(iCounter) & "\<br\>" & VbCrLf
      Output = Output & "\<span class=CalenderSmall\>" & sNamn(dMonth,iCounter) & "\</span\>\</td\>" & VbCrLf
      Output = Output & "\<td valign=top width=300\>" & VbCrLf

      If Not RS.BOF Then
	        RS.MoveFirst

	Dim dStartdate, dEndDate, dTempDate
	  dStartDate = Cdate(RS("Datum1"))
              dEndDate = Cdate(RS("slutdatum"))
                for dTempDate = dStartDate to dEndDate

	      Do Until RS.EOF
 		        If CInt(Right(RS("Datum1"),2)) = CInt(iCounter) Then	

	          If CInt(Right(RS("Datum1"),2)) = CInt(Right(RS("slutdatum"),2)) THEN
		    if NOT RS("ttid") = "" Then
      	 	      Output = Output & "\<font class=CalenderTime\>" & RS("ftid") & "-" & RS("ttid") & "\</font\>" & VbCrLf 
		    Else
    	 	      Output = Output & "\<font class=CalenderTime\>" & RS("ftid") & "\</font\>" & VbCrLf 
		    End if
		  End if

		  Output = Output & "\<font class=CalenderTimeRubrik\>" & RS("rubrik") & "\</font\>&nbsp;" & VbCrLf
		  If not RS("detalj") = "" THEN
                    Output = Output & "\<br\>\<font class=CalenderSmall\>" & RS("detalj") & "\</font\>&nbsp;" & VbCrLf
		  End if

		Elseif not CInt(Right(RS("Datum1"),2)) = CInt(Right(RS("slutdatum"),2))  THEN

 			  If CInt(iCounter) \> CInt(Right(RS("Datum1"),2)) and CInt(iCounter) =\< CInt(Right(RS("slutdatum"),2)) Then

	            Output = Output & "\<font class=CalenderTimeRubrik\>" & RS("rubrik") & "\</font\>\<br\>" & VbCrLf  

		  End if
		End If

	      RS.MoveNext 
		      Loop
	    next
      End if		

      Response.Write Output

      If dDayName(iCounter) = "Måndag" Then
		iWeekNo = DatePart("ww",dYear & "-" & dMonth & "-" & iCounter,2,2)
		Response.Write "\</td\>\<td class=CalenderSmall align=right width='60' valign=top\>v." & iWeekNo & "\</td\>\</tr\>" & VbCrLf
            Response.Write "\<tr\>\<td colspan=4\>\<hr size=" & iLinesize & " noshade color='#000000'\>\</td\>\</tr\>" & VbCrLf 
      Else
		Response.Write "\</td\>\<td\>&nbsp;\</td\>\</tr\>\<tr\>\<td colspan=4\>" & VbCrLf
		Response.Write "\<hr size=" & iLinesize & " noshade color='#000000'\>\</td\>\</tr\>" & VbCrLf 
      End If

      iCounter = iCounter + 1 
      Loop

      RS.Close
      Set RS = Nothing
      Conn.Close
      Set Conn = Nothing
      %\>
    \</table\>
  \</td\>
    \</tr\>
  \</table\>
\</center\>

</body>
</html>

Medlem sedan mars 200413 inlägg
#5

Får du någon ordning på det hela? En funktion som även jag skulle vilja ha på min fotbollsförenings hemsida.

Medlem sedan juni 20019 519 inlägg
#6

Är inte så svårt att få en kalend att fungera. och att välja lag är ju bara med en WHERE sats i SQL frågan...

Medlem sedan nov. 200468 inlägg
#7

Men hur?? Har försökt med Request.QueryString(teamID) i WHERE men får fel meddelande!!

sql = sql & " where startdatum like '" & Left(dDate,7) & "%' and LagID = ?????"

Medlem sedan juni 20019 519 inlägg
#8
.....and lagID = " & cint(Request.Querystring("teamID"))
Medlem sedan nov. 200468 inlägg
#9

Japp det funkar. Men nu är det bara två problem till att lösa.

Jag vill få med teamID nr när jag väljer Nästa månad i kalendern. Det är markerad med bold i texten under. Någon som vet

<td class=MediumNavy align=left width=100><a href="calender.asp?datum=<%= DateAdd("m",-1,dDate) %>&<%Request.QueryString("teamID")%>">«
<%= sUpperMonthName(MonthName(Month(DateAdd("m",-1,dDate)))) %></a></td>

Medlem sedan juni 200032 967 inlägg
#10

Du har glömt ett = före Request i det fetmarkerade.

mvh

Medlem sedan nov. 200468 inlägg
#11

Access till MYSQL

Nu till mitt andra problem. Vill använda Mysql istället, men får felmeddelande på följande rader:

sql = sql & " FORMAT$(startdatum, 'yyyy-mm-dd') as datum1,"
sql = sql & " FORMAT$(frantid, 'hh:mm') as ftid,"
sql = sql & " FORMAT$(tilltid, 'hh:mm') as ttid"
sql = sql & " from tbl_calender"

Vad skall jag ändra till?
FORMAT(startdatum, 'yyyy-mm-dd') as datum1,
FORMAT(frantid, 'hh:mm') as ftid,"
FORMAT(tilltid, 'hh:mm') as ttid"

Medlem sedan juni 200032 967 inlägg
#12

Byt FORMAT$ till DATE_FORMAT. Syntax här.

Medlem sedan nov. 200468 inlägg
#13

Nu har jag fått ett annat problem. Får detta felmeddelande:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near " at line 1

Raden 47

Set RS = Conn.Execute (sql)

Medlem sedan juni 200032 967 inlägg
#14

Felmeddelandet pekar ju på att det är SQL-frågan som är felaktig. Således: skriv ut den färdiga SQL-frågan och visa den för oss.

(Det vore också skojigt om du återkommer om våra inlägg hjälper dig, det är inte så roligt att hjälpa till annars...)

Medlem sedan nov. 200468 inlägg
#15

Här kommer koden

<%@ Language=VBScript %>
<% Option Explicit %>
<!--#include file="nameday.inc"-->
<%
Dim dDate, dYear, Conn, rs,dMonth, dDaysInMonth, Output, iCounter, sClass, sMonthName, iCounter2
Dim iLinesize, sHead, sql, iWeekNo, sColor, sNclass, sValid

If Request.QueryString("datum") = "" Then
dDate = Date
Else
dDate = Request.QueryString("datum")
End If

dYear = Year(dDate)
dMonth = Month(dDate)
sMonthName = MonthName(dMonth)
dDaysInMonth = Day(DateAdd("d", -1, DateSerial(dYear, dMonth + 1, 1)))

Function dDayName(iCounter)
dDayName = WeekdayName(WeekDay(dYear & "-" & dMonth & "-" & iCounter),False,1)
dDayname = UCase(Left(dDayName,1)) & Right(dDayName, Len(dDayName) - 1)
End Function

Function sUpperMonthName(sMonth)
sUpperMonthName = UCase(Left(sMonth,1)) & Right(sMonth, Len(sMonth)-1)
End Function

Function DayCount(iCounter)
DayCount = DateDiff("d",dYear & "-01-01",dYear & "-" & dMonth & "-" & iCounter,2,1) + 1
End Function

Set Conn = Server.CreateObject("ADODB.Connection")

'********** Start Mysql ************
Conn.Open "Min mysqldatabaskoppling men skiver inte den här nu"

sql = " select id, rubrik, detalj, slutdatum, "
sql = sql & " DATE_FORMAT(startdatum, 'yyyy-mm-dd') as datum1,"
sql = sql & " DATE_FORMAT(frantid, 'hh:mm') as ftid,"
sql = sql & " DATE_FORMAT(tilltid, 'hh:mm') as ttid"
sql = sql & " from tbl_calender"
sql = sql & " where startdatum like '" & Left(dDate,7) & "%'"
sql = sql & " order by frantid asc"
'********** Slut mysql ************

RAd 47 - Set RS = Conn.Execute (sql)

%>
<html>
<head>
<style>
A:link {text-decoration: none; color:navy;}
A:visited {text-decoration: none; color:navy;}
A:active {text-decoration: none; color:#CC0000;}
A:hover {text-decoration: underline; color:#CC0000;}
.BoldRed {font-family : Arial, Helvetica; font-size : 16pt; color : Red; font-weight: bold}
.BoldNavy {font-family : Arial, Helvetica; font-size : 16pt; color : Navy; font-weight: bold}
.MediumNavy {font-family : Verdana, Arial, Helvetica; font-size : 12px; color : Navy;font-weight: bold;position: relative}
.Namn {font-family : Verdana, Arial, Helvetica; font-size : 11px; color : navy}
.rNamn {font-family : Verdana, Arial, Helvetica; font-size : 11px; color : red}
.CalenderTimeRubrik {font-family : Verdana, Arial, Helvetica; font-size : 11px; color : black; font-weight: bold}
.CalenderSmall {font-family : Verdana, Arial, Helvetica; font-size : 10px; color : black}
.CalenderTime {font-family : Verdana, Arial, Helvetica; font-size : 11px; color : brown}
.CalenderxSmall {font-family : Tahoma, Helvetica; font-size : 9px; color : black}
</style>

<title>Månadskalender</title>
</head>
<body bgcolor="#ffffff">
<center>
<table width=500 border=0 cellspacing=0 cellpadding=2>
<tr>
<td>
<table width=500 border=0 cellspacing=0 cellpadding=0>
<tr>
<td class=MediumNavy align=left width=100><a href="calender.asp?datum=<%= DateAdd("m",-1,dDate) %>&<%Request.QueryString("teamID")%>">«
<%= sUpperMonthName(MonthName(Month(DateAdd("m",-1,dDate)))) %></a></td>
<td align=center><span class=BoldNavy><%= sUpperMonthName(sMonthName) & " " & dYear %></span><br></td>
<td class=MediumNavy align=right width=100><a href="calender.asp?datum=<%= DateAdd("m",1,dDate) %>&<%Request.QueryString("teamID")%>">
<%= sUpperMonthName(MonthName(Month(DateAdd("m",1,dDate)))) %> »</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width=100% border=0 cellspacing=0 cellpadding=0>
<tr>
<%

iCounter = 1
Do While iCounter <= dDaysInMonth
Select Case dDayName(iCounter)
Case "Söndag"
sClass = "BoldRed"
sNclass = "rNamn"
sColor = "#EEEEEE"
iLinesize = 3
Case "Lördag"
sNclass = "rNamn"
sColor = "FFFFff"
iLinesize = 1
Case Else
sClass = "BoldNavy"
sNclass = "Namn"
sColor = "FFFFFF"
iLinesize = 1
End Select

If CInt(Month(Date) & Day(Date)) = CInt(dMonth & iCounter) Then
sColor = "#FFFFCC"
End If

Response.Write "<tr bgcolor=" & sColor & "><td align=center width=30>" & VbCrLf

Output = "" & VbCrLf
Output = Output & "<span class=" & sClass & ">" & iCounter & "</a></span></td>" & VbCrLf
Output = Output & "<td class=" & sNclass & " width=95 valign=top>" & dDayName(iCounter) & "</span>" & VbCrLf
Output = Output & "<span class=CalenderxSmall>  " & DayCount(iCounter) & "<br>" & VbCrLf
Output = Output & "<span class=CalenderSmall>" & sNamn(dMonth,iCounter) & "</span></td>" & VbCrLf
Output = Output & "<td valign=top width=300>" & VbCrLf

If Not RS.BOF Then
RS.MoveFirst

Dim dStartdate, dEndDate, dTempDate
dStartDate = Cdate(RS("Datum1"))
dEndDate = Cdate(RS("slutdatum"))
for dTempDate = dStartDate to dEndDate

Do Until RS.EOF
If CInt(Right(RS("Datum1"),2)) = CInt(iCounter) Then

If CInt(Right(RS("Datum1"),2)) = CInt(Right(RS("slutdatum"),2)) THEN
if NOT RS("ttid") = "" Then
Output = Output & "<font class=CalenderTime>" & RS("ftid") & "-" & RS("ttid") & "</font>" & VbCrLf
Else
Output = Output & "<font class=CalenderTime>" & RS("ftid") & "</font>" & VbCrLf
End if
End if

Output = Output & "<font class=CalenderTimeRubrik>" & RS("rubrik") & "</font> " & VbCrLf
If not RS("detalj") = "" THEN
Output = Output & "<br><font class=CalenderSmall>" & RS("detalj") & "</font> " & VbCrLf
End if

Elseif not CInt(Right(RS("Datum1"),2)) = CInt(Right(RS("slutdatum"),2)) THEN

If CInt(iCounter) > CInt(Right(RS("Datum1"),2)) and CInt(iCounter) =< CInt(Right(RS("slutdatum"),2)) Then

Output = Output & "<font class=CalenderTimeRubrik>" & RS("rubrik") & "</font><br>" & VbCrLf

End if
End If

RS.MoveNext
Loop
next
End if

Response.Write Output

If dDayName(iCounter) = "Måndag" Then
iWeekNo = DatePart("ww",dYear & "-" & dMonth & "-" & iCounter,2,2)
Response.Write "</td><td class=CalenderSmall align=right width='60' valign=top>v." & iWeekNo & "</td></tr>" & VbCrLf
Response.Write "<tr><td colspan=4><hr size=" & iLinesize & " noshade color='#000000'></td></tr>" & VbCrLf
Else
Response.Write "</td><td> </td></tr><tr><td colspan=4>" & VbCrLf
Response.Write "<hr size=" & iLinesize & " noshade color='#000000'></td></tr>" & VbCrLf
End If

iCounter = iCounter + 1
Loop

RS.Close
Set RS = Nothing
Conn.Close
Set Conn = Nothing
%>
</table>
</td>
</tr>
</table>
</center>
</body>
</html>

Medlem sedan juni 200032 967 inlägg
#16
  1. Använd [kod]-taggar
  2. Bombardera oss inte med irrelevant kod. Det räcker med den felande SQL-frågan, utskriven med response.write.
Medlem sedan nov. 200468 inlägg
#17

Sorry

På rad 47 som felmeddelandet hänvisar till är det

RAd 47 - Set RS = Conn.Execute (sql)

Min kod
Set Conn = Server.CreateObject("ADODB.Connection")

'********** Start Mysql ************
Conn.Open "Min mysqldatabaskoppling men skiver inte den här nu"

sql = " select id, rubrik, detalj, slutdatum, "
sql = sql & " DATE_FORMAT(startdatum, 'yyyy-mm-dd') as datum1,"
sql = sql & " DATE_FORMAT(frantid, 'hh:mm') as ftid,"
sql = sql & " DATE_FORMAT(tilltid, 'hh:mm') as ttid"
sql = sql & " from tbl_calender"
sql = sql & " where startdatum like '" & Left(dDate,7) & "%'"
sql = sql & " order by frantid asc"
'********** Slut mysql ************

RAd 47 - Set RS = Conn.Execute (sql)

Medlem sedan juni 200032 967 inlägg
#18

För tredje gången, skriv ut den färdiga SQL-frågan med response.write, så vi kan se vad databasmotorn försöker tolka.

response.write sql
Medlem sedan nov. 200468 inlägg
#19

Förlåt... Mitt problem är att denna kod är hämtad från Access-databas. Men jag vill ändra till Mysql. Är det någon som ser något fel i källkoden ??

Medlem sedan dec. 2006608 inlägg
#20

Det Anders försöker förmedla är att om du innan rad 47 lägger till:

response.write sql

och sen klistrar in det som skrivs ut så kan folket här läsa din sql-fråga och på sätt kanske hjälpa dig.

Och om du skriver [ code] ...din kod... [ /code] fast då utan de mellanslag jag lagt till innanför [] runt din kod så hamnar din kod i en sån här fin ruta.

...din kod...
306 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
148 ms — deklarationer (db)
0 ms — hämta statistik (cache)
156 ms — hämta tråd, inlägg och bilagor (db)
148 ms — ändringar (db)