Avatar billede budda Nybegynder
06. september 2001 - 15:07 Der er 17 kommentarer og
1 løsning

Lave paging

Jeg vil gerne spørge om hvordan man laver pagin ud af dette script:

<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"databasen.mdb\") & \";UID=admin;PWD=;\"
set rs = conn.execute(\"select * from news order by id desc\")
if rs.eof then %>
Vi har ingen nyheder
<%else
do until rs.eof %>
<b><%= rs(\"headline\") %></b> - <%= rs(\"dateposted\") %><br>
<%= rs(\"content\") %>...<i><b><a href=\"se_nyhed.asp?id=<%=rs(\"id\") %>\">mere...</a></b></i><br><br>
<%
rs.movenext
loop
end if
set rs = nothing
conn.close
set conn = nothing %>

Jeg har prøvet mange gange men det vil ikke virke!
HJÆÆLP!
Avatar billede nil.dk Nybegynder
06. september 2001 - 15:09 #1
Prøv at bruge denne generator til at lave dit pagingscript:

http://www.scriptmate.com/resources/generators/pagingcodegen.asp
Avatar billede nute Nybegynder
06. september 2001 - 15:12 #2
Avatar billede budda Nybegynder
06. september 2001 - 15:17 #3
Ja men det er mere fordi jeg har prøvet de guides men JEG kan ikke få det til at virke...
Avatar billede nil.dk Nybegynder
06. september 2001 - 15:18 #4
budda >> mit link laver alt arbejdet for dig.. du skal bare taste dine oplysninger og specifikationer ind.
Avatar billede budda Nybegynder
06. september 2001 - 15:21 #5
Kan man også bruge funktionen \"left\" for det kan jeg ikke få den til!
Avatar billede nil.dk Nybegynder
06. september 2001 - 15:25 #6
du kan jo bare modificere scriptet bagefter
Avatar billede budda Nybegynder
06. september 2001 - 15:25 #7
altså så der kun står eks. 250 tegn i linjen
Avatar billede webbe Nybegynder
07. september 2001 - 10:12 #8
Følgende script virker hver gang for mig på en Access DB:

<%
Option Explicit
%>
<%
Dim Connect, rs1, intPage, intRecCount, intPageCount

Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"dsn_name\"

Set rs1 = Server.CreateObject(\"ADODB.Recordset\")
rs1.Open \"SELECT * FROM table_name\", Connect, 1, 3

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

If Not (rs1.BOF Or rs1.EOF) Then
    rs1.PageSize = 1
    rs1.AbsolutePage = intPage
    intRecCount = rs1.PageSize
    intPageCount = rs1.PageCount
    Do While Not rs1.EOF AND intRecCount < 0
    intRecCount = intRecCount - 1
    rs1.MoveNext
    loop
End if
%>
<html>
<head>
<title>Min side</title>
</head>
<body background=\"images/structure/popup_bg.jpg\">
<table border=\"0\" cellpadding=\"0\" cellspacing=\"5\" width=\"600\" align=\"center\">
    <tr>
        <td align=\"center\"><img src=\"images/galleri/<%=rs1(\"Billede\")%>\" border=\"1\"><br><br><font face=\"Verdana\" size=\"1\" color=\"#FFFFFF\">
<%
If Clng(intPage) > 1 Then
    Response.Write(\"<a href=\"\"galleri_popup.asp?page=\"&intPage - 1&\"&dato=\"&request(\"dato\")&\"\"\"><font face=\"\"Verdana\"\" size=\"\"1\"\" color=\"\"#FFFFFF\"\"><< Forrige</font></a>\")
Else
    Response.Write(\"<font face=\"\"Verdana\"\" size=\"\"1\"\" color=\"\"#FFFFFF\"\"><< Forrige</font>\")
End if
%>
<font face=\"Verdana\" size=\"1\" color=\"#FFFFFF\">&#32;-&#32;
<%
If Clng(intPage) <Clng(intPageCount) Then
    Response.Write(\"<a href=\"\"galleri_popup.asp?page=\"&intPage + 1&\"&dato=\"&request(\"dato\")&\"\"\"><font face=\"\"Verdana\"\" size=\"\"1\"\" color=\"\"#FFFFFF\"\">Næste >></font></a>\")
Else
    Response.Write(\"<font face=\"\"Verdana\"\" size=\"\"1\"\" color=\"\"#c0c0c0\"\">Næste >></font>\")
End if
%></font></td>
    </tr>
</table>
</body>
</html>

Med hensyn til de 250 tegn gør du bare følgende:

<%response.write(left(rs(\"My_field\"), 250))%>

Så udskriver du kun de første 250 tegn af et DB-felt!
Avatar billede webbe Nybegynder
07. september 2001 - 10:13 #9
Scriptet skal selvfølgelig tilpasses din egen DB, Connection osv! ;0)
Avatar billede budda Nybegynder
07. september 2001 - 12:04 #10
Jeg tester det lige..
Hvis det virker får du pointsene!
Avatar billede budda Nybegynder
07. september 2001 - 12:19 #11
Det virker ikke det med de 250 tegn!!!
Avatar billede budda Nybegynder
07. september 2001 - 12:24 #12
JEg har et mindre problem...jeg kan ikke gøresådan der står 10 på hver side!
Avatar billede budda Nybegynder
07. september 2001 - 12:26 #13
Se her : www.thebeat.dk/nyheder2.asp

koden ser sådan ud...hvad skal jeg... det vil ikke virke!
<%
Option Explicit
%>
<%
Dim Connect, rs1, intPage, intRecCount, intPageCount

Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"databasen.mdb\") & \";UID=admin;PWD=;\"

Set rs1 = Server.CreateObject(\"ADODB.Recordset\")
rs1.Open \"SELECT * FROM news order by id desc\", Connect, 1, 3

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

If Not (rs1.BOF Or rs1.EOF) Then
    rs1.PageSize = 10
    rs1.AbsolutePage = intPage
    intRecCount = rs1.PageSize
    intPageCount = rs1.PageCount
    Do While Not rs1.EOF AND intRecCount < 0
    intRecCount = intRecCount - 1
    rs1.MoveNext
    loop
End if
%>

<b><%= rs1(\"headline\") %></b> - <%= rs1(\"dateposted\") %><br>
<%response.write(left(rs1(\"content\"), 250))%>...<i><b><a href=\"se_nyhed.asp?id=<%=rs1(\"id\") %>\">mere</a></b></i><br><br>
<%
If Clng(intPage) > 1 Then
    Response.Write(\"<a href=\"\"nyheder2.asp?page=\"&intPage - 1&\"&dato=\"&request(\"dato\")&\"\"\"><< Forrige</a>\")
Else
    Response.Write(\"<< Forrige\")
End if
%>
<font face=\"Verdana\" size=\"1\" color=\"#FFFFFF\">&#32;-&#32;
<%
If Clng(intPage) <Clng(intPageCount) Then
    Response.Write(\"<a href=\"\"nyheder2.asp?page=\"&intPage + 1&\"&dato=\"&request(\"dato\")&\"\"\">Næste >></a>\")
Else
    Response.Write(\"Næste >>\")
End if
%></font>

Hvad er det lige der sker?
Avatar billede eagleeye Praktikant
14. september 2001 - 19:30 #14
Skift dette ud:
<b><%= rs1(\"headline\") %></b> - <%= rs1(\"dateposted\") %><br>
<%response.write(left(rs1(\"content\"), 250))%>...<i><b><a href=\"se_nyhed.asp?id=<%=rs1(\"id\") %>\">mere</a></b></i><br><br>

med dette:

i=0
do while not(rs1.EOF) and (i<10) \'samme som rs1.PageSize
  <b><%= rs1(\"headline\") %></b> - <%= rs1(\"dateposted\") %><br>
<%response.write(left(rs1(\"content\"), 250))%>...<i><b><a href=\"se_nyhed.asp?id=<%=rs1(\"id\") %>\">mere</a></b></i><br><br>
  rs1.movenext
  i=i+1
loop
Avatar billede budda Nybegynder
15. september 2001 - 14:31 #15
Jeg den virker heller ikke se her:
http://www.thebeat.dk/nyheder2.asp

Prøv at skriv hele koden..
Jeg ved ikke hvad der går galt
Avatar billede eagleeye Praktikant
15. september 2001 - 14:51 #16
<%
Option Explicit
%>
<%
Dim Connect, rs1, intPage, intRecCount, intPageCount, i

Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"databasen.mdb\") & \";UID=admin;PWD=;\"

Set rs1 = Server.CreateObject(\"ADODB.Recordset\")
rs1.Open \"SELECT * FROM news order by id desc\", Connect, 1, 3

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

If Not (rs1.BOF Or rs1.EOF) Then
    rs1.PageSize = 10
    rs1.AbsolutePage = intPage
    intRecCount = rs1.PageSize
    intPageCount = rs1.PageCount
End if
%>

<%
do while not rs1.EOF AND intRecCount>0
%>
<b><%=rs1(\"headline\")%></b> - <%=rs1(\"dateposted\")%><br>
<%
response.write(left(rs1(\"content\"), 250))
%>...<i><b><a href=\"se_nyhed.asp?id=<%=rs1(\"id\")%>\">mere</a></b></i><br><br>
<%
  intRecCount = intRecCount-1
  rs1.movenext
loop
%>
<%
If Clng(intPage) > 1 Then
    Response.Write(\"<a href=\"\"nyheder2.asp?page=\"&intPage - 1&\"&dato=\"&request(\"dato\")&\"\"\"><< Forrige</a>\")
Else
    Response.Write(\"<< Forrige\")
End if
%>
<font face=\"Verdana\" size=\"1\" color=\"#FFFFFF\">&#32;-&#32;
<%
If Clng(intPage) <Clng(intPageCount) Then
    Response.Write(\"<a href=\"\"nyheder2.asp?page=\"&intPage + 1&\"&dato=\"&request(\"dato\")&\"\"\">Næste >></a>\")
Else
    Response.Write(\"Næste >>\")
End if
%></font>
Avatar billede budda Nybegynder
15. september 2001 - 15:15 #17
Virker stadig ikke...
Den vil ikke vise 10 på hver side :(
Avatar billede eagleeye Praktikant
15. september 2001 - 19:54 #18
Underligt så prøv lige denne:

<%
Option Explicit
%>
<%
Dim Connect, rs1, intPage, intRecCount, intPageCount, i

Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"databasen.mdb\") & \";UID=admin;PWD=;\"

Set rs1 = Server.CreateObject(\"ADODB.Recordset\")
rs1.Open \"SELECT * FROM news order by id desc\", Connect, 1, 3

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

If Not (rs1.BOF Or rs1.EOF) Then
    rs1.PageSize = 10
    rs1.AbsolutePage = intPage
    intRecCount = rs1.PageSize
    intPageCount = rs1.PageCount
End if
%>

<%
i=0
do while not rs1.EOF AND i < 10
%>
<b><%=rs1(\"headline\")%></b> - <%=rs1(\"dateposted\")%><br>
<%
response.write(left(rs1(\"content\"), 250))
%>...<i><b><a href=\"se_nyhed.asp?id=<%=rs1(\"id\")%>\">mere</a></b></i><br><br>
<%
  i=i+1
  rs1.movenext
loop
%>
<%
If Clng(intPage) > 1 Then
    Response.Write(\"<a href=\"\"nyheder2.asp?page=\"&intPage - 1&\"&dato=\"&request(\"dato\")&\"\"\"><< Forrige</a>\")
Else
    Response.Write(\"<< Forrige\")
End if
%>
<font face=\"Verdana\" size=\"1\" color=\"#FFFFFF\">&#32;-&#32;
<%
If Clng(intPage) <Clng(intPageCount) Then
    Response.Write(\"<a href=\"\"nyheder2.asp?page=\"&intPage + 1&\"&dato=\"&request(\"dato\")&\"\"\">Næste >></a>\")
Else
    Response.Write(\"Næste >>\")
End if
%></font>
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