Jag har ett par hemsidor där medlemmarna på sidorna finns inlagda i en databas.
Mitt problem nu är att jag har fått så många medlemmar så det är jobbilgt att lista alla medlemmar på en asp-sida. Jag skulle vilja dela upp innehållet och visa typ 10 i taget. Antingen nummeriskt, ex Föregående 1 2 3 4 5 Nästa, eller per bokstavspar, ex A-C, D-F, F-I......
Mitt problem är bara hur gör man??
Jag kör en accessdatabas med en vanlig select som listar samtliga funna poster.
<% Texter = "SELECT * FROM medlem ORDER BY Enamn"
RecSet.Open Texter, Connect, adOpenStatic, adLockOptimistic
%>
<div align="left" class="bread">
<%
Do While Not RecSet.EOF
Response.Write "<p><a HREF='mailto:" & RecSet("Epost") & "'>" & RecSet("Enamn") & ", " & RecSet("Fnamn") & "</a><br><i>" & RecSet("Yrke") & "</i><br>" & RecSet("Adress") & "<br>" & RecSet("Postnr") & " " & RecSet("Padress") & "<br>Tel bost " & RecSet("Bost") & ", Tel arb " & RecSet("Arb") & ", Tel mob " & RecSet("Mob") & ""
RecSet.MoveNext
Loop
%>
</div>
<%
RecSet.Close
%>
Nu är jag ett steg närmare en lösning men behöver hjälp.
Kolla in koden här ovanför som Erik Skickade mig. Den fungerar bra. Men variablerna intPageNbr och intPageSize förändras inte. Sista loopen har ju inget annat att ta hänsyn till än att köra till EOF.
Men min fråga kvarstår, hur kan jag få värderna i variablerna att ändras i loopen? Jag ska ju bara visa 20 poster åt gången. Sen ska man ju klicka på >>nästa.
Men ett problem kvarstår. Jag får fortfarande inte med endast 20 poster på varje sida. Det verkar som om variablerna inte förändras. Hur förändrar jag dessa enligt mina önskemål? Här kommer koden:
<%
strSQL = "SELECT * FROM medlem ORDER BY Enamn"
RecSet.PageSize = 20
RecSet.CursorLocation = 3
RecSet.CursorType = 3
RecSet.Open strSQL, Connect, 3
if not RecSet.EOF then
if Request.QueryString("page")<>"" then
RecSet.AbsolutePage = Request.QueryString("page")
else
RecSet.AbsolutePage = 1
end if
intPageNbr = RecSet.AbsolutePage
intPageSize = RecSet.PageSize
else
intPageNbr = 1
intPageSize = 20
end if
Response.Write(intPageNbr)
Response.Write "<br>"
Response.Write(intPageSize)
strSQL = "SELECT Count(*) AS antal FROM medlem"
set RecSetCounter = server.CreateObject("adodb.recordset")
RecSetCounter.Open strSQL, Connect
if not RecSetCounter.EOF then
intCount = RecSetCounter("antal")
else
intCount = 0
end if
RecSetCounter.Close
set RecSetCounter = nothing
Response.Write "<br>"
Response.Write(intCount)
%>
<div align="left" class="bread">
<%
Do while not RecSet.EOF
Response.Write "<p><a HREF='mailto:" & RecSet("Epost") & "'>" & RecSet("Enamn") & ", " & RecSet("Fnamn") & "</a><br><i>" & RecSet("Yrke") & "</i><br>" & RecSet("Adress") & "<br>" & RecSet("Postnr") & " " & RecSet("Padress") & "<br>Tel bost " & RecSet("Bost") & ", Tel arb " & RecSet("Arb") & ", Tel mob " & RecSet("Mob") & ""
RecSet.MoveNext
Loop
%>
<%
Response.Write "<br>"
Response.Write(intPageNbr)
if intPageNbr > 1 then
%>
<p>
<a href="medlem.asp?what=oversikt&open=yes&page=<%=intPageNbr-1%>">« Föregående</a>
<%
else
%>
<p>
« Föregående
<%
end if
%>
|
<%
if i=intPageSize then
%>
<a href="medlem.asp?what=oversikt&open=yes&page=<%=intPageNbr+1%>">Nästa »</a>
<%
else
%>
Nästa »
<%
end if
%>
</div>
<%
RecSet.Close
%>