Avatar billede webbe Nybegynder
11. juni 2001 - 09:17 Der er 21 kommentarer og
1 løsning

15 ad gangen

Hejsa

Jeg har et script der skal liste 15 poster ad gangen, men jeg får kun vist én post ad gangen og jeg får 3 sider (pageCount).

De 3 sider passer godt nok med de ca. 35 poster der er i databasen.

Jeg bruger en Access2000 database.

Mit script ser sådan ud:

Dim Connect, rs, intPage, intRecCount, intPageCount

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

Set rs = Server.CreateObject(\"ADODB.Recordset\")
rs.Open \"SELECT * FROM DVD_main ORDER BY Titel ASC\", Connect, 1, 3

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

If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 15
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    Do While Not rs.EOF AND intRecCount < 0
    intRecCount = intRecCount - 15
    rs.MoveNext
    loop
End if
Avatar billede c Nybegynder
11. juni 2001 - 10:47 #1
På netcoders.dk har jeg uploadet et dagbogs script.
I det finder du et script til paging i sider.

Det må du gerne bruge. (du skal kigge under source til asp)

Christian
Avatar billede webbe Nybegynder
11. juni 2001 - 10:48 #2
c:

Vil helst bruge det script jeg har anført, da jeg mener det er rimeligt logisk opbygget, men kigger lige på dit!
Avatar billede webbe Nybegynder
11. juni 2001 - 10:57 #3
kan se det ikke liiiiiige er det jeg søger.....beklager!
Avatar billede c Nybegynder
11. juni 2001 - 11:07 #4
jeg mener at det er i default.asp

c
Avatar billede webbe Nybegynder
11. juni 2001 - 11:12 #5
Ja - men jeg kan se at det ikke er det jeg har brug for!!!!
Avatar billede c Nybegynder
11. juni 2001 - 11:29 #6
damm...livet er surt!! ;-))
Avatar billede webbe Nybegynder
11. juni 2001 - 11:32 #7
Jeps - specielt fordi jeg tidligere har brugt min egen kode uden problemer! ;o)
Avatar billede sbm Nybegynder
11. juni 2001 - 11:39 #8
Et forslag som jeg vil mene burde løse dit problem:

indlaegPrSide = 15

If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = indlaegPrSide
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    udskrevneIndlaeg = 0
    Do While Not rs.EOF AND udskrevneIndlaeg < indlaegPrSide
      ... skriv ud som du vil...
      udskrevneIndlaeg = udskrevneIndlaeg + 1
      rs.MoveNext
    loop
End if
Avatar billede webbe Nybegynder
11. juni 2001 - 11:42 #9
Nope - det virkede ikke!

Stadig samme problem!
Avatar billede sbm Nybegynder
11. juni 2001 - 11:47 #10
Grrr. Så laver vi det i \"hånden\" istedet for...

indlaegPrSide = 15

If Not (rs.BOF Or rs.EOF) Then
    index = 0
    do while (index < intPage * indlaegPrSide AND Not rs.EOF)
      rs.Movenext
    loop
    udskrevneIndlaeg = 0
    Do While (Not rs.EOF AND udskrevneIndlaeg < indlaegPrSide)
      ... skriv ud som du vil...
      udskrevneIndlaeg = udskrevneIndlaeg + 1
      rs.MoveNext
    loop
End if
Avatar billede sbm Nybegynder
11. juni 2001 - 11:48 #11
Ooops.

Jeg glemte lige...

    do while (index < intPage * indlaegPrSide AND Not rs.EOF)
      rs.Movenext
    loop

skulle være

    do while (index < intPage * indlaegPrSide AND Not rs.EOF)
      index = index + 1
      rs.Movenext
    loop
Avatar billede sbm Nybegynder
11. juni 2001 - 11:51 #12
...jeg prøver lige EN GANG TIL.

(Hvorfor opdager jeg fejlene lige EFTER jeg har submittet? )

do while (index < intPage * indlaegPrSide AND Not rs.EOF)

skal være

do while (index < (intPage * indlaegPrSide - indlaegPrSide) AND Not rs.EOF

Ellers får du aldrig vist de allerførste indlæg.
Avatar billede webbe Nybegynder
11. juni 2001 - 12:13 #13
Øøøøøhh - det der sker er at den viser den første post i min sortering og derefter springer 14 poster over og på næste side viser post nr. 16, som jo egentlig også er rigtigt nok!

Jeg mangler bare de mellemliggende 14 poster!
Avatar billede flytier Nybegynder
11. juni 2001 - 14:03 #14
Fejlen ligger i denne linie
intRecCount = intRecCount - 15
du skal sætte intRecCount til -1
istedet
Avatar billede webbe Nybegynder
11. juni 2001 - 14:08 #15
flytier:

Still not working!!!!!!!!

Har nu følgende kode (det er langt):

<%@LANGUAGE=\"VBSCRIPT\"%>
<%
Option Explicit
Response.Buffer = true
Response.Expires = 0
\'Login check
    if session(\"adgang\") <> \"1\" and session(\"adgang\") <> \"2\" then
        Response.Redirect(\"acces.asp?from_url=film.asp?action=new\")
    end if   

Dim Connect, rs, intPage, intRecCount, intPageCount

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

Set rs = Server.CreateObject(\"ADODB.Recordset\")
rs.Open \"SELECT * FROM DVD_main ORDER BY Titel ASC\", Connect, 1, 3

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

If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 15
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
    Do While Not rs.EOF AND intRecCount < 0
    intRecCount = intRecCount - 1
    rs.MoveNext
    loop
End if
%>
<html>
<head>
<title>Jupiter - DVD-administration</title>
<script language=\"javascript\">
<!--
function slet(Id) {
    if (confirm(\"Er du sikker på du vil slette denne DVD\")) {
        location = \"filmlist.asp?action=slet&id=\" + Id;
    }
}
//-->
</script>
<base target=\"mainFrame\">
</head>
<body bgcolor=\"#999999\" link=\"#000000\" alink=\"#000000\" vlink=\"#000000\">
<br>
<br>
<font face=\"Verdana\" size=\"3\"><b>Film Oversigt Danmark</b></font>
<br>
<br>
<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"600\">
    <tr>
        <td width=\"100\" valign=\"middle\" align=\"center\"><font face=\"Verdana\" size=\"2\">Varenr</font></td>
        <td width=\"300\" valign=\"middle\" align=\"left\"><font face=\"Verdana\" size=\"2\">Titel</font></td>
        <td width=\"200\" valign=\"middle\" align=\"left\"></td>
    </tr>
</table>
<br>
<table border=\"0\" cellpadding=\"0\" cellspacing=\"5\" width=\"600\">
    <tr>
        <td width=\"100\" valign=\"middle\" align=\"center\"><font face=\"Verdana\" size=\"1\"><a href=\"filmret.asp?id=<%=rs(\"Id\")%>\"><%=rs(\"Varenr\")%></a></font></td>
        <td width=\"300\" valign=\"middle\" align=\"left\"><font face=\"Verdana\" size=\"1\"><%=rs(\"Titel\")%></font></td>
        <td width=\"200\" valign=\"middle\" align=\"right\"><font face=\"Verdana\" size=\"1\"><a href=\'java script:slet(\"<%=rs(\"Id\")%>\")\'>Slet</a></font></td>
    </tr>
</table>
<table border=\"0\" cellpadding=\"0\" cellspacing=\"5\" width=\"650\" align=\"left\">
    <tr>
        <td width=\"325\" align=\"left\" valign=\"middle\">
            <%
            If Clng(intPage) > 1 Then
                Response.Write(\"<a href=\"\"filmlist.asp?page=\"&intPage - 1&\"\"\"><img src=\"\"../images/structure/adm_knap_tilbage.jpg\"\" border=\"\"0\"\"></a>\")
            Else
                Response.Write(\"<img src=\"\"../images/structure/adm_knap_tilbage_grey.jpg\"\">\")
            End if
            %>
        </td>
        <td width=\"325\" align=\"right\" valign=\"middle\">
            <%
            If Clng(intPage) < Clng(intPageCount) Then
                Response.Write(\"<a href=\"\"filmlist.asp?page=\"&intPage + 1&\"\"\"><img src=\"\"../images/structure/adm_knap_frem.jpg\"\" border=\"\"0\"\"></a>\")
            Else
                Response.Write(\"<img src=\"\"../images/structure/adm_knap_frem_grey.jpg\"\">\")
            End if
            %>
        </td>
    </tr>
</table>
<%
Select Case Request.QueryString(\"action\")

Case \"slet\"

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

Connect.Execute(\"DELETE FROM DVD_main WHERE Id=\" &Request.QueryString(\"id\"))
Connect.Execute(\"DELETE FROM DVD_pics WHERE Id=\" &Request.QueryString(\"id\"))

Connect.Close
Set Connect = Nothing

Response.Redirect(\"filmlist.asp\")

End Select
%>
</body>
</html>
Avatar billede flytier Nybegynder
11. juni 2001 - 14:44 #16
Do While Not rs.EOF AND intRecCount < 0
skal være:
Do While Not rs.EOF AND intRecCount > 0
Avatar billede webbe Nybegynder
11. juni 2001 - 14:48 #17
flytier:

Intet resultat!
Avatar billede flytier Nybegynder
11. juni 2001 - 14:59 #18
Prøv det her:

<%@LANGUAGE=\"VBSCRIPT\"%>
<%
Option Explicit
Response.Buffer = true
Response.Expires = 0
\'Login check
    if session(\"adgang\") <> \"1\" and session(\"adgang\") <> \"2\" then
        Response.Redirect(\"acces.asp?from_url=film.asp?action=new\")
    end if   

Dim Connect, rs, intPage, intRecCount, intPageCount


   
%>
<html>
<head>
<title>Jupiter - DVD-administration</title>
<script language=\"javascript\">
<!--
function slet(Id) {
    if (confirm(\"Er du sikker på du vil slette denne DVD\")) {
        location = \"filmlist.asp?action=slet&id=\" + Id;
    }
}
//-->
</script>
<base target=\"mainFrame\">
</head>
<body bgcolor=\"#999999\" link=\"#000000\" alink=\"#000000\" vlink=\"#000000\">
<br>
<br>
<font face=\"Verdana\" size=\"3\"><b>Film Oversigt Danmark</b></font>
<br>
<br>
<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"600\">
    <tr>
        <td width=\"100\" valign=\"middle\" align=\"center\"><font face=\"Verdana\" size=\"2\">Varenr</font></td>
        <td width=\"300\" valign=\"middle\" align=\"left\"><font face=\"Verdana\" size=\"2\">Titel</font></td>
        <td width=\"200\" valign=\"middle\" align=\"left\"></td>
    </tr>
</table>
<br>
<table border=\"0\" cellpadding=\"0\" cellspacing=\"5\" width=\"600\">
<%
    Set Connect = Server.CreateObject(\"ADODB.Connection\")
    Connect.Open \"jupiter\"

    Set rs = Server.CreateObject(\"ADODB.Recordset\")
    rs.Open \"SELECT * FROM DVD_main ORDER BY Titel ASC\", Connect, 1, 3

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

    If Not (rs.BOF Or rs.EOF) Then
        rs.PageSize = 15
        rs.AbsolutePage = intPage
        intRecCount = rs.PageSize
        intPageCount = rs.PageCount
        Do While Not rs.EOF AND intRecCount > 0
%>

    <tr>
        <td width=\"100\" valign=\"middle\" align=\"center\"><font face=\"Verdana\" size=\"1\"><a href=\"filmret.asp?id=<%=rs(\"Id\")%>\"><%=rs(\"Varenr\")%></a></font></td>
        <td width=\"300\" valign=\"middle\" align=\"left\"><font face=\"Verdana\" size=\"1\"><%=rs(\"Titel\")%></font></td>
        <td width=\"200\" valign=\"middle\" align=\"right\"><font face=\"Verdana\" size=\"1\"><a href=\'java script:slet(\"<%=rs(\"Id\")%>\")\'>Slet</a></font></td>
    </tr>

<%
    intRecCount = intRecCount - 1
        rs.MoveNext
        loop
    End if
%>
</table>
<table border=\"0\" cellpadding=\"0\" cellspacing=\"5\" width=\"650\" align=\"left\">
    <tr>
        <td width=\"325\" align=\"left\" valign=\"middle\">
            <%
            If Clng(intPage) > 1 Then
                Response.Write(\"<a href=\"\"filmlist.asp?page=\"&intPage - 1&\"\"\"><img src=\"\"../images/structure/adm_knap_tilbage.jpg\"\" border=\"\"0\"\"></a>\")
            Else
                Response.Write(\"<img src=\"\"../images/structure/adm_knap_tilbage_grey.jpg\"\">\")
            End if
            %>
        </td>
        <td width=\"325\" align=\"right\" valign=\"middle\">
            <%
            If Clng(intPage) < Clng(intPageCount) Then
                Response.Write(\"<a href=\"\"filmlist.asp?page=\"&intPage + 1&\"\"\"><img src=\"\"../images/structure/adm_knap_frem.jpg\"\" border=\"\"0\"\"></a>\")
            Else
                Response.Write(\"<img src=\"\"../images/structure/adm_knap_frem_grey.jpg\"\">\")
            End if
            %>
        </td>
    </tr>
</table>
<%
Select Case Request.QueryString(\"action\")

Case \"slet\"

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

Connect.Execute(\"DELETE FROM DVD_main WHERE Id=\" &Request.QueryString(\"id\"))
Connect.Execute(\"DELETE FROM DVD_pics WHERE Id=\" &Request.QueryString(\"id\"))

Connect.Close
Set Connect = Nothing

Response.Redirect(\"filmlist.asp\")

End Select
%>
</body>
</html>
Avatar billede webbe Nybegynder
11. juni 2001 - 15:07 #19
Nope - så viser den slet ikke nogen poster!
Avatar billede flytier Nybegynder
11. juni 2001 - 15:46 #20
Jeg bruger selv denne kode til paging og ved at den virker. Tag den, hvis du kan bruge den.

<%@ language=\"javascript\"%>
<html><head>
<title>Paging af et recordset</title>
</head><body>

<%
var intPage = \"\" + Request.QueryString(\"page\");

if((intPage == \"undefined\")||(intPage < 1)) intPage = 1;


var RS = Server.CreateObject(\"ADODB.RecordSet\");
var strSQL = \"SELECT * FROM \";
var strDSN = \"DSN=;UID=;PWD=;DATABASE=\";
RS.open(strSQL, strDSN, 1,1);
if((!RS.BOF)||(!RS.EOF)){
    RS.PageSize = 10;
   
    RS.AbsolutePage = intPage;
    intRecCount = RS.PageSize;
    intPageCount = RS.PageCount;
    Response.write(\"<p><b>Side \" + intPage + \" af \" + intPageCount + \"</b></p>\");
    while((!RS.EOF)&&(intRecCount > 0)){
        Response.write(RS(\"name\") + \"<br>\");
    intRecCount = intRecCount - 1;
    RS.MoveNext();
  }
}
RS.close();


Response.write(\"<p>Gå til side \");
for(intNum = 1; intNum<=intPageCount; intNum++){
    Response.write(\"<a href=page.asp?page=\" + intNum + \">\" + intNum + \"</a> \");
}

Response.write(\"<p>\");
if(intPage > 1){
    Response.write(\"<a href=page.asp?page=\" + (parseInt(intPage) - 1) + \">&lt;&lt;</a>\");
}else{
    Response.write(\"&lt;&lt;\");
}

Response.write(\"&nbsp;\");

if(intPage < intPageCount){
    Response.write(\"<a href=page.asp?page=\" + (parseInt(intPage) + 1) + \">&gt;&gt;</a> \");
}else{
    Response.write(\"&gt;&gt;\");
}
%>

</body></html>
Avatar billede webbe Nybegynder
11. juni 2001 - 15:48 #21
Okay - kigger lige på det imorgen....selv om den minder meget om den jeg er startet med!

Det jeg har vist her er noget jeg tidligere har tilrettet med succes!
Avatar billede webbe Nybegynder
13. august 2001 - 14:45 #22
Lukker spørgsmålet da det ikke længere er aktuelt!
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