Avatar billede use.kr Nybegynder
07. august 2001 - 23:12 Der er 6 kommentarer og
1 løsning

Paging i linkssystem

Jeg har et linkssystem på et sportsite, hvor brugere kan tilmelde links der så godkendes af admin. Systemet virker fint, bortset fra paging der er sat til 10 pr side, men ved flere links end 10, viser sitet godt nok at der er flere sider, men når man vælger den næste side, så vises der bare en side uden link, hvad kan der være galt.
Se evt her :http://www.sbbc.dk/links.asp (Danske basketball klubber)
Koden for visning er her:


<% case \"vis\"
\' Hvis der ikke er valgt noget mode vises alle links

\' Paging
intPage = Request(\"page\")
If isNumeric(intPage) = False Or intPage < 1 Then
  intPage = 1
End If

\' Database connection

Set rs = Server.CreateObject(\"ADODB.RecordSet\")
strSQL = \"SELECT * FROM links WHERE kategori=\'\" & request(\"kat\") & \"\' AND godkendt=\'ja\' ORDER BY navn\"
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"database/links.mdb\")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
  rs.PageSize = 10
  rs.AbsolutePage = intPage
  intRecCount = rs.PageSize
  intPageCount = rs.PageCount
    Response.Write \"<table width=\'500\' cellspacing=\'2\' cellpadding=\'0\'>\"
  Do While Not rs.EOF And intRecCount > 0
        Response.Write \"<tr><td valign=top width=\'100%\' colspan=2 bgcolor=#ddddff><font size=2><b><a href=links.asp?mode=id&id=\" & rs(\"ID\") & \">\" & rs(\"Navn\") & \"</a></b></font></td></tr>\"
        Response.Write \"<tr><td valign=top width=\'80%\' bgcolor=#e5e5e5><font size=2>\" & rs(\"Beskrivelse\") & \"</font></a></td>\"
        Response.Write \"<td valign=top width=\'20%\' bgcolor=#e5e5e5><font size=2>&nbsp;Hits: \" & rs(\"Hits\") & \"</font></td></tr>\"
        Response.Write \"<tr><td width=\'100%\' colspan=2 bgcolor=#efefef>&nbsp;</td></tr>\"
  intRecCount = intRecCount - 1
  rs.MoveNext
  Loop
End If
    Response.Write \"</table>\"
rs.Close
Set rs = Nothing

\' Navigering mellem siderne med paging
Response.Write \"<table width=\'500\' style=\'border-top: 1 solid #C0C0C0;border-bottom: 1 solid #C0C0C0\'><tr>\"
If Clng(intPage) > 1 Then
  Response.Write \"<td><font size=\'2\'><a href=links.asp?mode=vis&kat=\" & request(\"kat\") & \"&page=\" & intPage - 1 & \" class=paging>[<<]</a></td>\"
Else
  Response.Write \"<td></td>\"
End If

Response.Write \"\"
For intNum = 1 To intPageCount
  Response.Write \"<td valign=\'top\'><font size=\'2\'><a href=links.asp?mode=vis&kat=\" & request(\"kat\") & \"&page=\" & intNum & \">\" & intNum & \"</a></font></td> \"
Next

If Clng(intPage) < Clng(intPageCount) Then
  Response.Write \"<td><font size=\'2\'><a href=links.asp?mode=vis&kat=\" & request(\"kat\") & \"&page=\" & intPage + 1 & \" class=paging>[>>]</a></td>\"
Else
  Response.Write \"<td></td>\"
End If

Response.write \"<td><font size=\'2\'>Side <b>\" & intPage & \"</b> af \" & intPageCount & \"</font></td><td><p align=\'right\'><font size=\'2\'><a href=\'links.asp\'>Oversigt</a> | <a href=\'links.asp?mode=søg\'>Søg i links</a> | <a href=\'links.asp?mode=add\'>Tilføj links</a></font></p></td></tr></table>\"

case else


\' Database connection
Set rs = Server.CreateObject(\"ADODB.RecordSet\")
strSQL = \"SELECT * FROM kategorier ORDER BY kategori\"
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"database/links.mdb\")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
    Response.Write \"<table width=\'500\' cellspacing=\'2\' cellpadding=\'0\'>\"
  Do until rs.EOF = True
        Response.Write \"<tr><td width=\'100%\' colspan=2 bgcolor=#efefef><a href=\'links.asp?mode=vis&kat=\" & rs(\"kategori\") & \"\'>\" & rs(\"kategori\") & \"</a></td></tr>\"
  rs.MoveNext
  Loop
End If
    Response.Write \"</table>\"
rs.Close
Set rs = Nothing


end select %>

Håber på hjælp
Avatar billede medions Nybegynder
07. august 2001 - 23:14 #1
sæt denne på til 20

rs.PageSize = 10
Avatar billede medions Nybegynder
07. august 2001 - 23:15 #2
sorry.. blandte spm\'et sammen med et andet! :-(
Avatar billede madd Nybegynder
07. august 2001 - 23:20 #3
Du skal lave noget URL encode! Kan ikke lige huske om det hedder server.urlencode(request(\"kat\"))

Laaang tid siden jeg har set ASP :-P


/Mattias
Avatar billede nuno Nybegynder
07. august 2001 - 23:22 #4
\' Navigering mellem siderne med paging
Response.Write \"<table width=\'500\' style=\'border-top: 1 solid #C0C0C0;border-bottom: 1 solid #C0C0C0\'><tr>\"
If Clng(intPage) > 1 Then
  Response.Write \"<td><font size=\'2\'><a href=links.asp?mode=vis&kat=\" & request(\"kat\") & \"&page=\" & intPage - 1 & \"&class=paging>[<<]</a></td>\"
Else
  Response.Write \"<td></td>\"
End If



ved ikke om det har betydning - men der manglede vist et & foran class=paging

/nuno
Avatar billede use.kr Nybegynder
07. august 2001 - 23:41 #5
nuno> desværre var det ikke det
Avatar billede nuno Nybegynder
08. august 2001 - 09:01 #6
\' Navigering mellem siderne med paging
Response.Write \"<table width=\'500\' style=\'border-top: 1 solid #C0C0C0;border-bottom: 1 solid #C0C0C0\'><tr>\"
If Clng(intPage) > 1 Then
  Response.Write \"<td><font size=\'2\'><a href=links.asp?mode=vis&kat=\" & request(\"kat\") & \"&page=\" & intPage - 1 & \" class=paging>[<<]</a></td>\"
Else
  Response.Write \"<td></td>\"
End If

Response.Write \"\"
For intNum = 1 To intPageCount
  Response.Write \"<td valign=\'top\'><font size=\'2\'><a href=links.asp?mode=vis&kat=\" & request(\"kat\") & \"&page=\" & intNum & \">\" & intNum & \"</a></font></td> \"
Next

If Clng(intPage) <= Clng(intPageCount) Then
  Response.Write \"<td><font size=\'2\'><a href=links.asp?mode=vis&kat=\" & request(\"kat\") & \"&page=\" & intPage + 1 & \" class=paging>[>>]</a></td>\"
Else
  Response.Write \"<td></td>\"
End If

Response.write \"<td><font size=\'2\'>Side <b>\" & intPage & \"</b> af \" & intPageCount & \"</font></td><td><p align=\'right\'><font size=\'2\'><a href=\'links.asp\'>Oversigt</a> | <a href=\'links.asp?mode=søg\'>Søg i links</a> | <a href=\'links.asp?mode=add\'>Tilføj links</a></font></p></td></tr></table>\"

case else





--------

det er linien If Clng(intPage) <= Clng(intPageCount) Then jeg har ændret

fra < til <= - for du udskriver kun links\'ne hvis du er på en side, der har et sidetal der er MINDRE end pagecount - og ikke hvis du er på en side der er LIG med pagecount - og sidstnævnte er den sidste side.

så det skulle klare problemet :)

/nuno
Avatar billede use.kr Nybegynder
08. august 2001 - 22:16 #7
nuno> dit forslag virkede heller ikke -

MEN,- jeg fandt selv ud af problemet, idet de kategorier i databasen, der var problemer med samtidig var dem hvor kategorien ikke var i et ord men bestod af flere, så da jeg ændrede til kun et ord virkede det igen. - Men mange tak for hjælpen.
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