Men jag vill kunna bestämma hur som helst om det ska vara 10 sidor som ska synas mellan eller ex 4 eller kanske 13. Hoppas nån förstår hur jag menar. Här kommer koden iallafall!
PERSIDAN = 10
Sidan = Request.QueryString("sida")
If Sidan = "" then
sida = 1
Else
sida = Sidan
End If
...LITE MER KOD FÖR SIDNAVIGERING HÄR M.M...
If Sidor > 1 Then
If Len(sida) = 1 then
Dec = 0
ElseIf Len(sida) = 2 then
If Right(sida,1) = 0 then
Dec = (Left(sida,1) * PERSIDA)-PERSIDA
Else
Dec = (Left(sida,1) * PERSIDA)
End If
ElseIf len(sida) = 3 then
If Len(PERSIDA) = 1 Then
Else
Dec = (Left(sida,2) * PERSIDA)
End If
End If
i = 0
If (Int(sida)) > Int(PERSIDA) Then
Response.write "<a href=gb.asp?id=" & GbId & "&sida="& (Int(Dec)) & "><b>" & PERSIDA & " Bakåt</b></a> | "
End If
If (Int(sida)) > 1 Then
Response.write "<a href=gb.asp?id=" & GbId & "&sida="& (Int(sida)-1) & "><b>Bakåt</b></a> | "
End If
For i = (int(Dec)+1) to Sidor
If Int(i) < Int(Dec + (PERSIDA+1)) then
If (Int(i)) = (Int(sida)) then
Response.write "<b>"& i &"</b> "
Else
Response.write "<a href=gb.asp?id=" & GbId & "&sida="& i &">"& i &"</a> "
End If
End If
Next
If (Int(sida)) <> (Int(Sidor)) Then
Response.write " | <a href=gb.asp?id=" & GbId & "&sida="& (Int(sida)+1) & "><b>Framåt</b></a>"
End If
If (Dec+PERSIDA) < (Int(Sidor)) Then
Response.write " | <a href=gb.asp?id=" & GbId & "&sida="& (Int(Dec + (PERSIDA+1))) & "><b>Framåt " & PERSIDA & "</b></a>"
End If
End If
Jag ha rinte byggt detta men om man sätter 10 som PERSIDA så funkar denna kod men jag vill kunna välja vilken siffra som helst. Går det med en smidig kod?
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<p>
<%
'## -- hur många sidor som finns i recordsetet --
intTotalPages = 25
'## -- vilkensida som ska visas i recordsetet --
intPage = Request.QueryString("page")
If Len("" & intPage) = 0 OR Not IsNumeric(intPage) Then intPage = 1
'## -- hur många sidnummer som ska visas per gång --
intSweep = 6
intSweepFactor = (intPage / intSweep)
'## -- vilken sida som ska börja av antal sidnummer som ska visas (intSweep) --
If intPage MOD intSweep <> 0 Then
intSweepStart = (CLng((intPage / intSweep) + 0.5) * intSweep) - intSweep + 1
Else
intSweepStart = ((intPage / intSweep) * intSweep) - intSweep + 1
End If
intSweepEnd = (intSweepStart + intSweep) - 1
%>
</p>
<p>
<%
If intSweepStart > intSweep Then
%>
<a href="paging_paging.asp?page=<% =intPage - intSweep%>"><% =intSweep%> Bakåt</a>
<%
Else
%>
<% =intSweep%> Bakåt
<%
End If '## -- intSweepStart > intSweep --
If intPage > 1 Then
%>
| <a href="paging_paging.asp?page=<% =intPage - 1%>">Bakåt</a> |
<%
Else
%>
Bakåt |
<%
End If '## -- intPage > 1 --
'## -- loopa igenom alla sidnummrena i "sweepet" --
For N = intSweepStart TO intSweepEnd
If N = Clng(intPage) OR N >= intTotalPages Then
Response.Write "<b>" & N & "</b> "
Else
%>
<a href="paging_paging.asp?page=<% =N%>"><% =N%></a>
<%
End If
Next
%>
|
<%
If CLng(intPage) < CLng(intTotalPages) Then
%>
<a href="paging_paging.asp?page=<% =intPage + 1%>">Framåt</a>
<%
Else
%>
Framåt
<%
End If '## -- intPage < intTotalPages --
%>
|
<%
If (intPage + intSweep) < intTotalPages Then
%>
<a href="paging_paging.asp?page=<% =intPage + intSweep%>">Framåt <% =intSweep%></a>
<%
Else
%>
Framåt <% =intSweep%>
<%
End If '## -- (intPage + intSweep) < intTotalPages --
%>
</p>
</body>
</html>
Bara att labba tills du känner dig "hemma" i koden och du förstår koden. Sedan, då är det bara att implementera det i dina sidor.
Ingen snygg kod, behöver fräschas upp en liten aning
Värdet i "intTotalPages" kan du ju om du vill skicka i en Q.S. så att användaren själv hur många träffar per sida som skall visas.
(Men det kanske var så du tänkte..?)