webForumDet fria alternativet

Pagin

ASP

12 svar · 412 visningar · startad av FIgg3

Medlem sedan sep. 2001354 inlägg
Frågan#1

Hejsan...

Ja har aldrig hållt på med paginscript innan men ja tänkte att ja skulle ta och titta på det... nu när ja kodat lite har ja kommit fram till denna koden:

Men men som alltid finns det MEN med i bilden...
i databasen finns 3 poster fredrik, patrik, therese men endast fredrik skrivs ut och ja vet inte varför jag har väll missat något kan ni se vad?

<!-- #include file="adovbs.inc" -->
<html>
<head>
<title> [url]http://figg3[/url] </title>
<link rel="stylesheet" href="forum/style.css" type="text/css">
</head>
<body bgcolor="#FFFFFF">

<%
file = Server.MapPath("default.mdb") 
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& file 

Set RecSet = Server.CreateObject("ADODB.Recordset") 
SQL = "SELECT * FROM site ORDER BY namn ASC" 
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic 

RecSet.pagesize = 1
Do until RecSet.EOF OR count = RecSet.PageSize 
count = count + 1

If Request.QueryString("page") = "" then
 page = 1
  Else
   If page < 1 then 
    page = 1
     Else
      If page > RecSet.pagecount then 
    page = RecSet.pagecount
   page = CInt (Request.QueryString("page"))
  End If
 End if
End if

A = RecSet("namn")
totalPages = RecSet.PageCount

response.write "<font size='-2' face='verdana'>"
Response.write ""& A &"<br>"

RecSet.MoveNext
Loop

response.write "<br><a href='pagin2.asp?page=1'>Första sidan</a> &nbsp;"
for fldcount = 1 to RecSet.PageCount
response.Write "<a href='pagin2.asp?page="& fldcount &"'>"& fldcount &"</a> "
Next

response.write "&nbsp; <a href='pagin2.asp?page="& TotalPages &"'>Sista sidan</a>"
if TotalPages = 1 then
response.write "<br><br>Det finns endast en sida"
Else

response.write "<br><br>Det finns "& TotalPages &" sidor att blädra mellan..."
End If
response.write "</font>"

RecSet.Close
Set RecSet = nothing
%>

</html>
Medlem sedan nov. 2000213 inlägg
#2

Det ser ut som om du har satt RecSet.pagesize = 1 och efter första loopen så har count också värdet 1 och därför slutar loopen efter en runda.

Medlem sedan sep. 2001354 inlägg
#3

Tjenare

Ja har ändrat lite i koden så att loopar med mera funkar men allså ja får inte själva paginen att funka...

Är det någon som ser vad ja gjort för fel som sagt är ja ganska ny på det hära med pagin...

<!-- #include file="adovbs.inc" -->
<html>
<head>
<title> [url]http://figg3[/url] </title>
<link rel="stylesheet" href="forum/style.css" type="text/css">
</head>
<body bgcolor="#FFFFFF">

<%
file = Server.MapPath("default.mdb") 
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& file 

Set RecSet = Server.CreateObject("ADODB.Recordset") 
SQL = "SELECT * FROM site ORDER BY namn ASC" 
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic 

RecSet.pagesize = 2
Do until RecSet.EOF Or Count = RecSet.pagesize

If Request.QueryString("page") = "" then
 page = 1
  Else
   If page < 1 then 
    page = 1
     Else
      If page > RecSet.pagecount then 
    page = RecSet.pagecount
   page = CInt (Request.QueryString("page"))
  End If
 End if
End if

A = RecSet("namn")
totalPages = RecSet.PageCount

response.write "<font size='-2' face='verdana'>"
Response.write ""& A &"<br>"

Count = Count + 1 
RecSet.MoveNext
Loop

response.write "<br><a href='pagin2.asp?page=1'>Första sidan</a> &nbsp;"
for fldcount = 1 to RecSet.PageCount
response.Write "<a href='pagin2.asp?page="& fldcount &"'>"& fldcount &"</a> "
Next

response.write "&nbsp; <a href='pagin2.asp?page="& TotalPages &"'>Sista sidan</a>"
if TotalPages = 1 then
response.write "<br><br>Det finns endast en sida"
Else

response.write "<br><br>Det finns "& TotalPages &" sidor att blädra mellan..."
End If
response.write "</font>"

RecSet.Close
Set RecSet = nothing
%>

</html>
Medlem sedan sep. 2001354 inlägg
#4

Ingen????

Medlem sedan mars 20002 836 inlägg
#5

om du söker om paging här på forumet får du MÅNGA träffar och lösningar.

cya,
PatrikB

Medlem sedan mars 20002 836 inlägg
#6

men för att vara snäll ... även om jag e rätt trött på paging :e så kan du kika på detta:

<!-- #include file="adovbs.inc" -->
<html>
<head>
<title> [url]http://figg3[/url] </title>
<link rel="stylesheet" href="forum/style.css" type="text/css">
</head>
<body bgcolor="#FFFFFF">

<%
file = Server.MapPath("default.mdb") 
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& file 

Set RecSet = Server.CreateObject("ADODB.Recordset") 
SQL = "SELECT * FROM site ORDER BY namn ASC" 
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic 

totalPages = RecSet.PageCount

Page = Request.QueryString("page")
If page = "" Then page = 1
If page < 1 Then page = 1
If page > totalPages then page = totalPages

RecSet.AbsolutPage = page

RecSet.pagesize = 2
Do until RecSet.EOF Or Count = RecSet.pagesize

A = RecSet("namn")

response.write "<font size='-2' face='verdana'>"
Response.write ""& A &"<br>"

Count = Count + 1 
RecSet.MoveNext
Loop

response.write "<br><a href='pagin2.asp?page=1'>Första sidan</a>  "
for fldcount = 1 to RecSet.PageCount
response.Write "<a href='pagin2.asp?page="& fldcount &"'>"& fldcount &"</a> "
Next

response.write "  <a href='pagin2.asp?page="& TotalPages &"'>Sista sidan</a>"
if TotalPages = 1 then
response.write "<br><br>Det finns endast en sida"
Else

response.write "<br><br>Det finns "& TotalPages &" sidor att blädra mellan..."
End If
response.write "</font>"

RecSet.Close
Set RecSet = nothing
%>

</html>

har ändrat om lite med din if-sats och lagt till så att recordsetet vet vilken sida som ska visas, RecSet.AbsolutePage = Page, då startar recordsetet på den sidans första post.

En grej till som du bör göra är att kolla om RecSetet är tomt eller inte annars kommer det att bli fel-meddelanden om det inte returneras några poster.

cya,
PatrikB

Medlem sedan sep. 2001354 inlägg
#7

Tack PatrikB :)

Ja lovar ja ska inte komma med fler jobbiga fråger om Pagin men ja blev lite trött när ja suttigt ett tag och inte kunnde hitta vad ja gjort fel :)

Tack och tack igen....

Medlem sedan sep. 2001354 inlägg
#8

He he sorry kommer med en fråg till om pagin fast ja sa att ja ej skulle det :)

När ja testade koden ja fick av dig får ja fel mesS:
Körningsfel i Microsoft VBScript fel '800a01b6'

Objektet stöder inte egenskapen eller metoden.: 'RecSet.AbsolutPage'

/pagin2.asp, rad 25

Och rad 25 är så klart:

RecSet.AbsolutPage = page

Men varför undrar jag? Ha Dé

Medlem sedan juni 200032 967 inlägg
#9

AbsolutePage

Min gissning. :)

Mvh,

Medlem sedan sep. 2001354 inlägg
#10

Ojjsan ja såg inte ens E:et :)
Men allså det funkar inte fast PatriB ändra i koden det är precis som det var innan han ändra något i den allså själva paginen funkar inte den byttar inte poster... I databasen finns dessa poster: FIgg3 forum, FIgg3 portfölj, Test Script men endast FIgg3 forum vissas kolla själva:
http://212.109.25.15/pagin2.asp

Medlem sedan mars 20002 836 inlägg
#11

Ingen fara ...... :e

ändra detta:

RecSet.AbsolutePage = page

RecSet.pagesize = 2

till:
[kod]
RecSet.pagesize = 2

RecSet.AbsolutPage = page
[/kod

Måste ju veta hur många poster som ska finnas på varje sida innan man kan få fram absolut sidan ;)

cya,
PatrikB

Medlem sedan sep. 2001354 inlägg
#12

Hej igen...

Hmmm nu börjar ja bli tjatig men själva paginen funkar fortfarnade inte? barar FIgg3 forum som skrivs ut, kvittar vilken sida man är på... (http://212.109.25.15/pagin2.asp)

Nu ser hela koden ut så här:

<%
file = Server.MapPath("default.mdb") 
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& file 

Set RecSet = Server.CreateObject("ADODB.Recordset") 
SQL = "SELECT * FROM site ORDER BY namn ASC" 
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic 

totalPages = RecSet.PageCount

Page = Request.QueryString("page")
If page = "" Then page = 1
If page < 1 Then page = 1
If page > totalPages then page = totalPages

RecSet.pagesize = 1

RecSet.AbsolutePage = page 
Do until RecSet.EOF Or Count = RecSet.pagesize

A = RecSet("namn")

response.write "<font size='-2' face='verdana'>"
Response.write ""& A &"<br>"

Count = Count + 1 
RecSet.MoveNext
Loop

response.write "<br><a href='pagin2.asp?page=1'>Första sidan</a>  "
for fldcount = 1 to RecSet.PageCount
response.Write "<a href='pagin2.asp?page="& fldcount &"'>"& fldcount &"</a> "
Next

response.write "  <a href='pagin2.asp?page="& TotalPages &"'>Sista sidan</a>"
if TotalPages = 1 then
response.write "<br><br>Det finns endast en sida"
Else

response.write "<br><br>Det finns "& TotalPages &" sidor att blädra mellan..."
End If
response.write "</font>"

RecSet.Close
Set RecSet = nothing
%>
Medlem sedan mars 20002 836 inlägg
#13

om du oxå flyttar denna rad:

totalPages = RecSet.PageCount

till efter RecSet.AbsolutePage

cya,
PatrikB

262 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)