Avatar billede musti776 Nybegynder
19. februar 2005 - 15:58 Der er 4 kommentarer og
1 løsning

Paging system

Hej Venner,

Har prøvet at leje med paging system men der er lige en fejl..
Hvis der f.eks er 10 post henter den det hele, men den laver paging alligevel så der også kommer side tal, altså:
Pages 1 2 3 4 5 6 7 8 9 10

Hvordan er det jeg lige retter den nedenstående kode så jeg kan bestemme, at der kun skal komme 12 post ud også skal den sefølig ikke lave den paging system hvis der ikke er mere end 12 post..

<%
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 where gave_ideas = 1"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/db/xxxx_dk.mdb")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 1
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
'</paging> 
%>

<%   
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=""110"" height=""110"" valign=""top"" align=""center"" bgcolor=""#FFE9D5"" class=""main"">"
  'Udskriv data her
Response.write  "<img src=""produkt_images/" & rs("images") & """ width=""110"" height=""110""> <a href=""produkter.asp?id=" & rs("id") & """ target=""indhold"">  " & rs("navn") & " </a> <br> " & rs("kort_beskrivelse") & " <br> "
  response.write "</td>"
  noPrRow = noPrRow + 1
  if noPrRow = maxPrRow then
    response.write "</tr>"
    noPrRow = 0
  end if

  rs.Movenext
loop
if noPrRow > 0 then response.write "</tr>"
response.write "</table>"
'Hvis ikke recordsettet er tomt, fortsæt
%>

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

intRecCount = intRecCount - 1
'rs.MoveNext

End If
rs.Close
Set rs = Nothing

'Paging scriptet

Response.Write "Pages "
For intNum = 1 To intPageCount
Response.Write "<a href='paging2.asp?fid=" &  "&page=" & intNum &  "'>" & intNum & "</a> "
next
%>
Avatar billede eagleeye Praktikant
19. februar 2005 - 16:09 #1
Du malger en linje her:

  rs.Movenext
loop


som tæller intRecCount 1 ned for hver post der udskrives så det bliver:

  intRecCount = intRecCount - 1
  rs.Movenext
loop




Du bestemmer antallet der skal vise pr. side i denne linje:
    rs.PageSize = 1

Så vil du havde 12 poster pr. side skal det være:

    rs.PageSize = 12
Avatar billede musti776 Nybegynder
19. februar 2005 - 16:17 #2
så får jeg denne fejl ;

Der opstod en Microsoft VBScript-kompileringsfejl (0x800A040E)
'Loop' uden 'Do'
/agrex.dk/paging2.asp, line 47
loop
Avatar billede eagleeye Praktikant
19. februar 2005 - 16:19 #3
du ska bare tilføje den ene linje:

  intRecCount = intRecCount - 1

De to andre var bare for at vise hvor den skulle indsættes.
Avatar billede musti776 Nybegynder
19. februar 2005 - 16:24 #4
hehe ok...det var bedre nu.. :)
men der er stadig fejl på.. jeg har 12 post.. og har rettet rs.PageSize = 10
men den viser alligevel alle 12 post, men laver samtidig side 2 og viser de sidste 2... hvad kan det skyldes?
Avatar billede musti776 Nybegynder
19. februar 2005 - 16:27 #5
jeg havde bare dummet mig fandt fejlen...takker igen eagleeye.. :)
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