Hur ser koden ut? Du kan ju posta den del som sköter om siduppdelningen.
------------------
essentitia preter non sans multiplicandum
5 svar · 213 visningar · startad av mm5
Jag har en sökfunktion där resultatet visas med 20 poster per gång. Jag har en knapp som visar nästa och föregående 20 poster. Nu vill jag lägga till så att man kan se hur många poster sökningen gav totalt och vilka 20 poster man är på.
Hur ser koden ut? Du kan ju posta den del som sköter om siduppdelningen.
------------------
essentitia preter non sans multiplicandum
<%
Dim antalrader
antalrader = 20
Dim index
index = 0
rs_antalrader= rs_antalrader+ antalrader
%>
---------------------------------------
<%If historia.EOF Then
Response.Write "<br><font class='svart'> Sökningen gav inga träffar"
Else
While ((antalrader <> 0) AND (NOT historia.EOF))
if index Mod 2 = 1 then
bg = "#ffffff"
else
bg = "#F5F5F5"
end if
%>
<table width="500" border="0" cellspacing="0" cellpadding="0" class="svart" height="18">
<tr bgcolor="<%=bg%>">
<td width="80"> <%= DoDateTime((historia.Fields.Item("datum").Value), 2, 1053) %><br>
</td>
<td width="420"><A HREF="historiadetalj.asp?<%= MM_keepNone & MM_joinChar(MM_keepNone) & "ID=" & historia.Fields.Item("ID").Value %>"> <%=(historia.Fields.Item("data").Value)%> (<%=(historia.Fields.Item("tabell").Value)%> ) i <%=(historia.Fields.Item("station").Value)%>: <%=(historia.Fields.Item("ny").Value)%></A></td>
</tr>
</table>
<%
index=index+1
antalrader=antalrader-1
historia.MoveNext()
Wend
%>
Det var inte riktigt det jag ville se, utan mer hur du hämtar data och hur du positionerar dig i recordset.
------------------
essentitia preter non sans multiplicandum
<%
set historia = Server.CreateObject("ADODB.Recordset")
historia.ActiveConnection = MM_stationer_STRING
valdstation = Request.querystring("station")
If Request.querystring("station") <> "" Then
historia.Source = "SELECT * FROM historia WHERE station = '" & Request.querystring("station") & "' ORDER BY datum DESC"
End If
If Request.Form("sok") <> "" Then
historia.Source = "SELECT * FROM historia WHERE gammal Like '%" & Request.Form("sok") & "%' OR ny Like '%" & Request.Form("sok") & "%'ORDER BY datum DESC"
End If
If Request.Form("sokdatum") <> "" Then
historia.Source = "SELECT * FROM historia WHERE datum Like '%" & Request.Form("sokdatum") & "%' ORDER BY datum DESC"
End If
If Request.querystring("station") = "" And Request.Form("sok") = "" And Request.Form("sokdatum") = ""Then
historia.Source = "SELECT * FROM historia ORDER BY datum DESC"
End If
historia.CursorType = 0
historia.CursorLocation = 2
historia.LockType = 3
historia.Open()
historia_numRows = 0
%>
Om du byter till
historia.CursorLocation = 3
så kan du använda
response.write "Antal träffar = " & historia.recordcount
för att visa totala antalet poster.
Jag förutsätter att du har någon variabel som innehåller vilken sida du skall visa.
Om den heter t.ex. pageNumber, så kan du använda följande kod för att visa vilka poster man ser
if 20*pageNumber > historia.recordcount then
response.write "nu visas post " & (pageNumber-1) * 20 & " till " & historia.recordcount
else
response.write "nu visas post " & (pageNumber-1) * 20 & " till " & pageNumber*20
end if
------------------
essentitia preter non sans multiplicandum