Avatar billede hauge1212 Nybegynder
17. marts 2001 - 21:00 Der er 8 kommentarer og
1 løsning

trække poster ud fra database på flere sider

Hvordan trækker man poster ud på flere sider, eks. 10 poster på hver side ?
Avatar billede tommyf Nybegynder
17. marts 2001 - 21:02 #1
www.activeserverpages.dk har et eksempel, det kaldes pa*et eller andet*.
Avatar billede tommyf Nybegynder
17. marts 2001 - 21:03 #2
Avatar billede netsrac Praktikant
17. marts 2001 - 21:03 #3
Avatar billede netsrac Praktikant
17. marts 2001 - 21:03 #4
Damn..
Avatar billede sbarnney Nybegynder
17. marts 2001 - 21:11 #5
Her er en \"testside\", Der skal bruges en database, f.eks. sql. Mangler du ADOVBS.INC må du sige til.

<%
response.buffer = true
response.expires = -1
%>
<html><head>
    <TITLE></TITLE>
</head><body>
<!--#INCLUDE FILE=\"ADOVBS.INC\" -->

<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Set RS = Server.CreateObject(\"ADODB.Recordset\")
Conn.Open \"DSN\", \"User\", \"Password\"

sqltemp=\"select * from DATABASE\"

mypage=request(\"whichpage\")
If  mypage=\"\" then
  mypage=1
end if
mypagesize=request(\"pagesize\")
If  mypagesize=\"\" then
  mypagesize=25
end if
mySQL=request(\"SQLquery\")
IF  mySQL=\"\" THEN
  mySQL=SQLtemp
END IF

set rstemp=Server.CreateObject(\"ADODB.Recordset\")
rstemp.cursorlocation=aduseclient
rstemp.cachesize=5
rstemp.open mySQL,Conn
rstemp.movefirst
rstemp.pagesize=mypagesize
maxpages=cint(rstemp.pagecount)
maxrecs=cint(rstemp.pagesize)
rstemp.absolutepage=mypage
howmanyrecs=0
howmanyfields=rstemp.fields.count -1
%>
<table>
    <tr>
        <td>FORNAVN</td>
        <td>EFTERNAVN</td>
    </tr>
<%
DO  UNTIL rstemp.eof OR howmanyrecs>=maxrecs

      \'Lav farveskift for hver række
      if Color=\"#8e9dbc\" then
          Color=\"#ffefd0\"
      else
          Color=\"#8e9dbc\"
      end if
%>
  <tr>
        <td bgcolor=\"<%= Color %>\"><%=UCase(rstemp(\"fornavn\"))%></td>
        <td bgcolor=\"<%= Color %>\"><%=UCase(rstemp(\"efternavn\"))%></td>       
    </tr>
<%
    rstemp.movenext
    howmanyrecs=howmanyrecs+1
LOOP
response.write \"</table><p>\"

response.write \"<table align=left border=\'0\'><tr><td align=left width=\'200\'>\"
response.write \"Side \" & mypage & \" af \" & maxpages & \"</td></tr></table>\"


rstemp.close
set rstemp=nothing

\' Now make the page _ of _ hyperlinks
Call PageNavBar

sub PageNavBar()
      pad=\"\"
      scriptname=request.servervariables(\"script_name\")
      response.write \"<table rows=\'1\' cols=\'1\' width=\'97%\'><tr>\"
      response.write \"<td>\"
      response.write \"<font size=\'2\' color=\'black\' face=\'Verdana, Arial,Helvetica, sans-serif\'>\"
      if (mypage mod 10) = 0 then
      counterstart = mypage - 9
      else
      counterstart = mypage - (mypage mod 10) + 1
      end if
      counterend = counterstart + 9
      if counterend > maxpages then counterend = maxpages
      if counterstart <> 1 then
      ref=\"<a href=\'\" & scriptname
      ref=ref & \"?whichpage=\" & 1
      ref=ref & \"&pagesize=\" & mypagesize
      ref=ref & \"&sqlQuery=\" & server.URLencode(mySQL)
      ref=ref & \"\'>Første</a>&nbsp;:&nbsp;\"
      Response.Write ref


      ref=\"<a href=\'\" & scriptname
      ref=ref & \"?whichpage=\" & (counterstart - 1)
      ref=ref & \"&pagesize=\" & mypagesize
      ref=ref & \"&sqlQuery=\" & server.URLencode(mySQL)
      ref=ref & \"\'>Forrige</a>&nbsp;\"
      Response.Write ref
      end if
      Response.Write \"[\"
      for counter=counterstart to counterend
      If counter>=10 then
      pad=\"\"
      end if
      if cstr(counter) <> mypage then
      ref=\"<a href=\'\" & scriptname
      ref=ref & \"?whichpage=\" & counter
      ref=ref & \"&pagesize=\" & mypagesize
      ref=ref & \"&sqlQuery=\" & server.URLencode(mySQL)
      ref=ref & \"\'>\" & pad & counter & \"</a>\"
      else
      ref=\"<b>\" & pad & counter & \"</b>\"
      end if
      response.write ref
      if counter <> counterend then response.write \" \"
      next
      Response.Write \"]\"
      if counterend <> maxpages then
      ref=\"&nbsp;<a href=\'\" & scriptname
      ref=ref & \"?whichpage=\" & (counterend + 1)
      ref=ref & \"&pagesize=\" & mypagesize
      ref=ref & \"&sqlQuery=\" & server.URLencode(mySQL)
      ref=ref & \"\'>Næste</a>\"
      Response.Write ref


      ref=\"&nbsp;:&nbsp;<a href=\'\" & scriptname
      ref=ref & \"?whichpage=\" & maxpages
      ref=ref & \"&pagesize=\" & mypagesize
      ref=ref & \"&sqlQuery=\" & server.URLencode(mySQL)
      ref=ref & \"\'>Sidste</a>\"
      Response.Write ref
      end if
      response.write \"<br></font>\"
      response.write \"</td>\"
      response.write \"</table>\"
end sub
%>
</body></html>


Hvis du indsætter dette, istadet for Conn.Open \"DSN\", \"User\", \"Password\".

Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"paging.mdb\")
sqltemp=\"select * from t_paging\"

Hvor databasen ligger kender kun du, samt hvad tabellen hedder.

Læg mærke til at mypagesize=25 bestemmer hvor mange rækker du vil have, i dette tilfælde får du 25.

MVH Stig
Avatar billede hauge1212 Nybegynder
17. marts 2001 - 23:05 #6
Stig >> dit script virker perfekt til mit formål, men hvordan får jeg mine poster til at stå med lille skrift, alt er skrevet med stort.
Avatar billede hauge1212 Nybegynder
17. marts 2001 - 23:14 #7
og hvorfor kan jeg ikke sortere posterne efter eks. dato: sqltemp=\"select * from nyheder order by dato desc\"
Avatar billede hauge1212 Nybegynder
17. marts 2001 - 23:58 #8
har fundet ud af det med at sortere...

Men pointene er dine (Stig) hvis du lige kan hjælpe mig med at få bokstaverne til at være små og store, hvor de skal være det.
Avatar billede sbarnney Nybegynder
02. april 2001 - 16:57 #9
Store = UCase , lille = LCase
Eks. <%= UCase(RS(\"test\"))%>

MVH
Stig
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