webForumDet fria alternativet

Mån-Sön Veckobläddring

ASP

6 svar · 294 visningar · startad av ironhead

Medlem sedan mars 20011 346 inlägg
Frågan#1

Hej!

Nu håller jag på att trassla till det igen :-/
Jag vill kunna visa en matsedel Måndag-Söndag som tar med datum i formatet mån-dag (12-01), såhär ser det ut nu:

If Request.Querystring("date")<>"" Then
  dtmDate = Request.Querystring("date")
 Else
  dtmDate = Date()
End	IF

weekno = DatePart("WW",	dtmDate, 2,	2)
y =	DatePart("YYYY", dtmDate)

firstday = y & "-01-01"
fweek =	DatePart("ww", firstday, vbMonday, vbFirstFourDays)

if fweek > 1 then
   startday	= dateadd("d",8-weekday(firstday,vbmonday),firstday)
else
   startday	= dateadd("d",-6-weekday(firstday,vbmonday),firstday)
end	if

startday = dateadd("ww",weekno,startday)
endday = dateadd("d",6,startday)

Arr1 = ("Måndag,Tisdag,Onsdag,Torsdag,Fredag,Lördag,Söndag")
ArrDay = Split(Arr1,",")

for i =	0 to UBound(ArrDay)

response.write ArrDay(i) & " "
response.write mid(dateadd("d",i,startday),6) &	" |	"

next

backpg = DateAdd("d",-8,endday)
nextpg = DateAdd("d",+1,endday)

%><br><br>
<a href="weektest.asp?date=<%=backpg%>">« Föregånde Vecka </a>&nbsp;
<a href="weektest.asp?date=<%=nextpg%>"> Nästa Vecka »</a>

Jag vill ju kunna bläddra mellan veckorna....finns det nån vänlig själ som har ett bättre/enklare sätt att göra detta på...?

Medlem sedan juni 200032 967 inlägg
#2

Vad är det för fel på det där sättet? Fungerar det inte?

Medlem sedan mars 20011 346 inlägg
#3

Jag får inte vecko-bläddringen att fungera....då vissa månader inte börjar (01) på en Måndag, så går det inte att bläddra tillbaka och bläddrar man framåt till 2005, så börjar den bläddra 2 veckor framåt åt gången.

Kan man bestämma att bläddra på veckor istället?

Medlem sedan mars 20011 346 inlägg
#4

Jag fixade nåt bättre istället:

dtmDate = Request.QueryString("dtmDate")

if dtmDate="" Then
 dtmDate = date()
end if	

weekno = DatePart("WW",	dtmDate, 2,2)
y =	DatePart("YYYY", dtmDate)

startdate= y & "-01-01"
Do Until DatePart("ww", startdate, 2, 2) = weekno
	startdate = DateAdd("d", 1, startdate)
Loop

if weekday(startdate, vbMonday) > 1 then  startdate = dateadd("d", -(weekday(startdate)-2), startdate)

Response.write "<b>v." & weekno & "</b><br>"
response.write "------------------------------------<br>"
For d = startdate To DateAdd("d", 6, startdate)

Response.write day(d) & " " & weekdayname(weekday(d)) & "<br>"
	response.write "------------------------------------<br>"
startdate = DateAdd("d", 1, startdate)
next

pw = DateAdd("d", -8, startdate)

Response.Write "<a href=?dtmDate=" & pw & ">« Föregånde Vecka</a>"
Response.Write "&nbsp;&nbsp;"
Response.Write "<a href=?dtmDate=" & startdate & ">Nästa Vecka »</a>"

Fråga:
Vad är det man kan skriva istället för

if Month(d)<10 Then
sMonth = "0" & Month(d)
else
sMonth = Month(d)
end if

...nåt typ sMonth = Left("0", Month(d)),2

Medlem sedan nov. 20017 144 inlägg
#5

...nåt typ sMonth = Left("0", Month(d)),2

Japp, så skulle jag gjort.

Medlem sedan nov. 20017 144 inlägg
#6

Du kan ändra:

if dtmDate="" Then
 dtmDate = date()
end if

'Till:

if not isdate(dtmDate) Then dtmDate = date()

Då kommer det även blir rätt om du skickar in något annat i querystringen.

Medlem sedan mars 20011 346 inlägg
#7

Jesper T skrev:

Du kan ändra:

if dtmDate="" Then
 dtmDate = date()
end if

'Till:

if not isdate(dtmDate) Then dtmDate = date()

Då kommer det även blir rätt om du skickar in något annat i querystringen.

>> ah! Lysande. Tack!

Hade skrivit lite fel, skall vara:

sMonth = Left("0" & Month(d),2)
260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)