webForumDet fria alternativet

hur ser koden för en "nästa" länk ut???

ASP

6 svar · 285 visningar · startad av Percy

Medlem sedan mars 2000187 inlägg
Frågan#1

Hej, har en fil som delar upp ett rs över flera sidor beroende på antalet poster. Har sedan länkar till varje sida ex. 1,2,3 osv. men jag vill även ha en nästa länk till nästkommade sida (om det finns någon), har en förra länk och den fungerar utmärkt men får inte nästa länken att fungera och den genererar inte något fel heller!
någon som kan hjälpa mig?

<%
mypage = Request("whichpage")
If mypage = "" Then
	mypage = 1
End If
If Request.Form("daysprune") > "" Then
	mypagesize = Request.Form("daysprune")
ElseIf Request.QueryString("pagesize") > "" Then
	mypagesize = Request.QueryString("pagesize")
Else
	mypagesize = 10
End If

sql = "Select * From links Order by namn"

Set rstemp = Server.CreateObject("ADODB.Recordset")
rstemp.CursorLocation = 3
rstemp.CacheSize = 5
rstemp.Open sql, "driver={Microsoft Access Driver (*.mdb)};dbq=c:\databas.mdb"
If rstemp.EOF Then
	Response.Write "Där fanns det ju inget..." & sok
Else
	rstemp.MoveFirst
	rstemp.PageSize = mypagesize
	maxcount = Cint(rstemp.PageCount)
	rstemp.AbsolutePage = mypage
	howmanyrecs = 0
	howmanyfields = rstemp.Fields.Count -1
	Do While Not RSTemp.EOF AND howmanyrecs < rstemp.PageSize
	Counter = Counter + 1
	If Counter mod 2 = 0 Then
	color = "FFFFFF"
	Else
	color = "EEEEEE"
	End If
	%>
<tr bgcolor="<%=color%>"><td><a href="<%=RStemp("url")%>"><%=RStemp("namn")%></a></td></tr><%
	rstemp.MoveNext
	howmanyrecs = howmanyrecs + 1
	Loop
	rstemp.Close
	Set rstemp = nothing
	%>
	<tr><td> </td></tr>
	<tr><td>
	<%
	If maxcount <> 0 Then
	Response.Write "sida " & mypage & " av " & maxcount & "<br>" & sidor:
	scriptname = Request.ServerVariables("script_name")
	For counter = 1 to maxcount
	If counter >= 20 Then
	End If
	ref = "<a href=""" & scriptname & "?whichpage=" & counter & "&pagesize=" & mypagesize & """>" & counter & "</a> "
	Response.Write ref & " "
	If counter mod 20 = 0 Then
		Response.Write "<br>"
	End If
	Next
	
	
	If mypage < maxcount Then Response.Write "<a href=""" & scriptname & "?whichpage=" & mypage+1 & "&pagesize=" & mypagesize &""">Nästa</a>"
	If mypage > 1 Then Response.Write "<a href=""" & scriptname & "?whichpage=" & mypage-1 & "&pagesize=" & mypagesize &""">Förra</a>"
	
	End If
End If

%>

felet och länken ligger i slutet av filen!

[Redigerat av Percy den 28 jan 2001]

Medlem sedan dec. 19998 577 inlägg
#2

Testa denna kod som jag gjort:

	for counter = 1 to maxcount
		If Cint(counter)+1 = Cint(mypage) then
			strForegaende = "<a href='index1.asp?whichpage="&counter&_
			"&mypagesize=" & mypagesize &_
			"'>«</a> "
		End If
		If Cint(mypage) <> Cint(counter) then
			ref = "<a href='index1.asp?whichpage=" & counter
			ref = ref & "&mypagesize=" & mypagesize &_
			"'>" & counter & "</a> "
			strSidor = strSidor & ref
		Else
			strSidor = strSidor & counter & " "
		End If
		If Cint(counter)-1 = Cint(mypage) then
			strNasta = "<a href='index1.asp?whichpage="&counter&_
			"&mypagesize=" & mypagesize &_
			"'>»</a> "
		End If
	Next

Hämta med variablerna: strForegaende, strSidor, strNasta

------------------
Nu har du sjungit på sista refrängen
Jourhavande Vide

[Redigerat av Vide den 28 jan 2001]

Medlem sedan aug. 20002 272 inlägg
#3

Här kommer en "påföljdsfråga"...

När man listar upp t.ex 25 poster på varje sida, och du vill visa ett nummer framför varje post.. 1-25 i detta exempel på förstasidan, 26-51 på andra sidan o.s.v....

Anropar jag counter så skrivs 1-25 ut på VARJE sida (självklart)..

Jag undrar altså HUR man gör för att visa 1-25 på sid1, 26-51 på sid2, 52-77 på sid3 o.s.v

Tacksam för svar

------------------
Det är lättare att leva ett rikt liv som ung, när man vet att det väntar ett som gammal
E-post

Medlem sedan mars 20002 836 inlägg
#4

[r]Se inlägg nedan[/r]

[Redigerat av PatrikB den 14 feb 2001]

Medlem sedan mars 20002 836 inlägg
#5

Prova detta:

intEndPost = mypagesize * mypage
intStartPost = (intEndPost - mypagesize) + 1

Response.Write "Nu visas posterna " & intStartPost & " - " & intEndPost

cya,

------------------
Private Function OutPut(ByRef sString)
OutPut = "Who gives ..." & sString
End Function

Medlem sedan aug. 20002 272 inlägg
#6

Det funkade juh KANON!!

MEN jag tror att jag förklarade lite dåligt innan...

Så här vill jag att det ska fungera:

Sid1:

1. Företag1
2. Företag2
3. Företag3
4. Företag4
osv....till 25

Sid2:
26. Företag26
27. Företag27
28. Företag28
osv...till 50

Sid3:
51. Företag51
52. Företag52
53. Företag53
osv...till 75

Siffran ska altså stå FÖRE företaget på varje rad som recsettet listar upp...
Hoppas att det klarnade lite grann nu iaf.... :)

------------------
Det är lättare att leva ett rikt liv som ung, när man vet att det väntar ett som gammal
E-post

[Redigerat av JAreMANNEN den 15 feb 2001]

Medlem sedan mars 20002 836 inlägg
#7

Ok,

använd då koden ovanifrån:

intEndPost = mypagesize * mypage
intStartPost = (intEndPost - mypagesize) + 1

och lägg till detta där denna rad börjar:

'## -- lägg till denna rad --
intStartPost = intStartPost - 1

Do While Not RSTemp.EOF AND howmanyrecs < rstemp.PageSize

'## -- lägg till denna rad --
intStartPost = intStartPost + 1

Där du sedan vill att post nummer ska visas skriver du detta:

<% =intStartPost%>

cya,

------------------
Private Function OutPut(ByRef sString)
OutPut = "Who gives ..." & sString
End Function

[Redigerat av PatrikB den 16 feb 2001]

324 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
145 ms — deklarationer (db)
0 ms — hämta statistik (cache)
176 ms — hämta tråd, inlägg och bilagor (db)
137 ms — ändringar (db)