Avatar billede musti776 Nybegynder
01. april 2005 - 17:19 Der er 10 kommentarer og
1 løsning

Paging fejl - Request.Querystring

Hej igen :)

Har problemer med mit paging...
På de sider hvor jeg bare henter indholdet normalt går det fint, men ligeså snart jeg bruger --> Request.Querystring("id") til at hente mine poster virker paging ikke... Den henter posterne rigtigt men når man f.eks. klikker på side to hopper den til en helt andet sted..

her er koden... :

<%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "select * from produkt_gr where kategori = '"& Request.Querystring("id")& "'"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../../db/xxxk.mdb")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 8
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
'</paging> 
%>
<body onload="parent.document.getElementById('indhold').style.height=((document.body.scrollHeight)?document.body.scrollHeight:document.body.offsetHeight)+'px'">
<center>
<%

noPrRow = 0
maxPrRow = 4
response.write "<table cellspacing=""20"">"
Do While Not rs.EOF And intRecCount > 0
  if noPrRow = 0 then response.write "<tr>"
  response.write "<td width=""120"" height=""120"" valign=""top"" align=""center"" bgcolor=""#F1F5DC"" class=""main"">"
  response.write  "<a href=""produkter.asp?id=" & rs("id") & """ target=""indhold""><img src=""../produkt_images_small/" & rs("images1") & """ width=""120"" height=""120"" border=""0"">  " & rs("navn") & " </a> <br> " & rs("kort_beskrivelse") & "<br> <strong> <font size=2> " & rs("pris")&" "& rs("penge_type") &""
  response.Write "<br>"
  response.Write " <a href=""produkter.asp?id=" & rs("id") & """ target=""indhold""><img src=""../images/viewgg.gif"" heigt=""17"" width=""47"" border=""0"">  </a>"
  response.write "</td>"
  noPrRow = noPrRow + 1
  if noPrRow = maxPrRow then
    response.write "</tr>"
    noPrRow = 0
  end if
intRecCount = intRecCount - 1
  rs.Movenext
loop
if noPrRow > 0 then response.write "</tr>"
response.write "</table>"
'Hvis ikke recordsettet er tomt, fortsæt
%>
<%
'og så teste på den i din paging.
pagtom = 0
If (rs.BOF Or rs.EOF) Then
pagtom = 1
end if
%>

<%   
'Trækker den næste record ud og lukker din forbindelse

' intRecCount = intRecCount - 1

End If
rs.Close
Set rs = Nothing

Response.Write ""
For intNum = 1 To intPageCount
If intPage = intNum Then
Response.Write " [" & "<b>Page&nbsp;" & intNum &"</b>" & "] "
else
Response.Write " <a href='kategori.asp?id=" &  "&page=" & intNum &  "'>Page&nbsp;" & intNum & "</a> |"
end if
next

%>

<center><a href="java script:history.back()">Back</a></center>
</center>

</body>
Avatar billede busschou Praktikant
01. april 2005 - 17:25 #1
har du et link?
Avatar billede busschou Praktikant
01. april 2005 - 17:26 #2
i denne linje:
Response.Write " <a href='kategori.asp?id=" &  "&page=" & intNum &  "'>Page&nbsp;" & intNum & "</a> |"
der sætter du jo ikke id lig med noget?
Avatar billede musti776 Nybegynder
01. april 2005 - 18:11 #3
nu har jeg ændret den linje til : 
Response.Write " <a href='kategori.asp?id="& rs("kategori") &  "&page=" & intNum &  "'>Page&nbsp;" & intNum & "</a> |"

men ligeså snart der er mere end 8 post (8= maks antal pr side)
melder den denne fejl:
Typer stemmer ikke overens: 'rs'
/agrex.dk/greece/kategori.asp, line 73

du kan tjekke den her : www.agrex.dk/greece/ tryk f.eks. på den der hedder Bonsai i venstre menu
Avatar billede busschou Praktikant
01. april 2005 - 18:16 #4
linje 73 er?
Avatar billede busschou Praktikant
01. april 2005 - 18:26 #5
men du skal flytte "Set rs=Nothing" neden under dit link
for ellers kan du jo ikke hive id´et ud som rs("kategori")
Avatar billede busschou Praktikant
01. april 2005 - 18:32 #6
ellers kan du vel hive querystringen som jo er sat ?
Response.Write " <a href='kategori.asp?id="& request.querystring("id") &  "&page=" & intNum &  "'>Page&nbsp;" & intNum & "</a> |"
Avatar billede musti776 Nybegynder
01. april 2005 - 18:39 #7
det var lige sagen... mange mange mange tak :)
inden jeg afslutter.. hvis du har lagt mærke til det, side et i paging bliver vist som [<b>Side 1</b>] og de andre som link...

men når man klikker på side to mistes den instilling og alt bliver vist som link..
kunne du måske komme med et gæt på hvorfor.. ?

ps. smid et svar :)
Avatar billede busschou Praktikant
01. april 2005 - 18:42 #8
intPage = Request("page")
skal måske nok være følgende
intPage = Request.Querystring("page")
Avatar billede musti776 Nybegynder
01. april 2005 - 19:10 #9
nej desværre :(
Avatar billede busschou Praktikant
01. april 2005 - 19:14 #10
ok men helt konkret må det jo gå galt i denne .
---------------
If intPage = intNum Then
Response.Write " [" & "<b>Page&nbsp;" & intNum &"</b>" & "] "
else
Response.Write " <a href='kategori.asp?id=" &  "&page=" & intNum &  "'>Page&nbsp;" & intNum & "</a> |"
end if
-------------
Det må jo betyde at intPage ikke er lig intNum
Men kan ikke lige lure hvor det så er det gør at de ikke er lig hinanden
Avatar billede musti776 Nybegynder
01. april 2005 - 19:29 #11
ok... takker igen :)
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