Avatar billede slapstick Nybegynder
04. september 2002 - 22:42 Der er 13 kommentarer og
1 løsning

paging af recordset

jeg roder med den her paging kode
men den gør ikke heeelt det den skal
den laver et offset som den bruger til paging
og den får også det offset med og lægger det i linket til næste "page"
men den laver 3 links selvom der kun er 9 poster i basen og den skal vise 5 pr side
og når den skal vise selve tingene så viser den bare de første 5 ligemeget hvad for et offset den har
her kommer koden:

<span class="text"><b>Sko til salg:</b> </span><br><br>
<table cellpadding="0" border="0" cellspacing="0">
  <%
If rs2.EOF Then
%>
  <tr>
    <td class="text">Ingen produkter i denne kategori</td>
</tr>
<%
Else
set rsAntal = conn.execute("select count(*) from sko")
iAntal = rsAntal(0)
if iAntal > 5 then
t=0
a=1
if not request.querystring = "" then
    offset = cint(request.querystring("offset"))
else
offset = 0
end if

while t < iantal

if t = offset then
response.write("<font class='text'>side"&a&"&nbsp;&nbsp;</font>")
else
response.write("<font class='text'><a href='kurv.asp?&offset="&t&"'>side"&a&"</a>&nbsp;&nbsp;</font>")
end if
a=a+1
t=t+4
wend
t=0
a=0
if not offset = 0 then
for a=0 to offset-1
    rs2.movenext
    t=a   
next
end if
t=offset
While not rs2.EOF AND t < (offset+4) AND t >= offset
%>
<tr>
<form method="POST" action="kurv.asp">
      <td width="300" class="text" valign="top">
        <%
vnavn = rs2("varenavn")
%>
        <input type="hidden" value="<%=rs2("varenr") %>" name="varenr">
<input type="hidden" value="<%=vnavn %>" name="varenavn">
<b><%=vnavn %></b>
<br>
<%=rs2("beskrivelse") %>
<br>
<input type="hidden" value="<%=rs2("varepris") %>" name="varepris">
<b><%=rs2("varepris") %> kr.</b>
<br>
<span class="text"><b>antal:</b></span>
<input name="vareantal" type="text" class="formsearchsmall" size="2" maxlength="2">
        &nbsp;&nbsp; 
<input name="kurv" type="submit" class="formbutton" value="kurv">
</td>
      <td class="text" valign="top">

       
</td>
</form>
</tr>
<%
t=t+1
rs2.movenext
wend
end if
end if
%>
Avatar billede eagleeye Praktikant
04. september 2002 - 22:54 #1
Denne skal du trække antal pr side fra:
while t < iantal

Sådan her da førte side viser 0-4 og den næste side visre 5-9 men hvis du ligge 4 til t så giver det først 0 så 4 så 8 ... derfor får du en side for meget.
while t < iantal-4
Avatar billede slapstick Nybegynder
04. september 2002 - 22:56 #2
hmm nu viser den kun side 1 og ingen links
url her http://super.skodliv.dk/shop/kutv.asp
Avatar billede slapstick Nybegynder
04. september 2002 - 22:58 #3
Avatar billede eagleeye Praktikant
04. september 2002 - 23:01 #4
Så prøv at fjerne det igen..
Avatar billede slapstick Nybegynder
04. september 2002 - 23:03 #5
næ undskyld jeg så forkert
troede du mente fjerne while t < iantal helt
ok nu viser den det antal sider der er
men den viser stadig ikke de poster fra basen den skal
Avatar billede eagleeye Praktikant
04. september 2002 - 23:07 #6
I linket er der kommet et & ind efter ? der skal der ikke være... Mellem filnanvet og første querystring bruges ? mellem to querystring bruges &


response.write("<font class='text'><a href='kurv.asp?offset="&t&"'>side"&a&"</a>&nbsp;&nbsp;</font>")
Avatar billede slapstick Nybegynder
04. september 2002 - 23:11 #7
aaah hehe doh !
så er der kun eeen ting til nu pager den sådanset fint nok
men der er 9 poster i basen så den på side 2 viser den nr 5 post fra side 1 istedet for bare de sidste 4 poster der er tilbage
hvordan kommer man uden om det?
Avatar billede eagleeye Praktikant
04. september 2002 - 23:17 #8
For den ikke viser den sidste først på næste side så skal du ligger et til offset i det loop som udskriver

Den føste side skal vise 0.1.2.3.4

Næste sitde skal vise 5.6.7.8.9

Så offset skal være 5 til side 2 og ikke 4
Avatar billede eagleeye Praktikant
04. september 2002 - 23:19 #9
while t < iantal          '<----- så skal -4 fjernes

if t = offset then
response.write("<font class='text'>side"&a&"&nbsp;&nbsp;</font>")
else
response.write("<font class='text'><a href='kurv.asp?offset="&t&"'>side"&a&"</a>&nbsp;&nbsp;</font>")
end if
a=a+1
t=t+5          '<------------------- 4 rettes til 5
wend
Avatar billede slapstick Nybegynder
04. september 2002 - 23:22 #10
jeg er ik lige sikker på hvor jeg skal rette det for ligemeget hvor jeg prøver at rette på offsettet så holder den op med at page lol
Avatar billede slapstick Nybegynder
04. september 2002 - 23:23 #11
ah fik ikke fjernet 4
Avatar billede slapstick Nybegynder
04. september 2002 - 23:23 #12
for smukt !!
jeg siger mange mange tak for hjælpen :))
Avatar billede eagleeye Praktikant
04. september 2002 - 23:23 #13
Mit føste svar var forkert du skal bruger det sidste jeg har skrevet ...
Avatar billede eagleeye Praktikant
04. september 2002 - 23:24 #14
OK :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester