Avatar billede styrbaek Nybegynder
18. maj 2001 - 12:01 Der er 5 kommentarer og
1 løsning

Problemer med paging

Kan simpelthen ikke få paging til at virke i det her script.
Jeg har både prøvet med eks. fra www.activeserverpages.dk og fra www.netcoder.dk unden det store held.
Er der noget der har et forslag

<!-- #include file=\"db.asp\" -->
 
<%
\' Først finder vi ud af hvad vores paging side er på nu
  Page = Trim(Request(\"page\"))
  If Page = \"\" Then Page = 1
Set rs = Server.CreateObject(\"ADODB.Recordset\")
  rs.CursorType = adOpenStatic
sql = \"Select * FROM categories ORDER BY categoryid ASC;\"

timeStart =  now()
Response.Buffer = true
Dim catid, strcat
catid = Request.QueryString(\"id\")
strcat = Request.QueryString (\"cat\")

If catid = \"\" OR (IsNumeric(catid) = false) Then
    Response.Redirect \"default.asp\"
End if

Dim catname, productslist, vpris
sub productInfo(connObj,category)


  \' Hvor mange records vil have på hver side... her er den sat til 5
  rs.PageSize = 5
  rs.Open(Sql), dbc

  \' Her laver jeg et lille trick der gør at hvis ens forespørgsel er tom,
  \' så får man ikke en fejl
  If Not rs.EOF Then
    rs.AbsolutePage = cINT(Page)
    rowCount = 0
  End If


    q = chr(34)
    set cmd = server.CreateObject(\"ADODB.Command\")
    cmd.ActiveConnection = connObj
    cmd.CommandText = \"qryProdsCategory\"
    cmd.CommandType = adCmdStoredProc
    set param = cmd.CreateParameter(\"theCategory\",adInteger,adParamInput,4)
    cmd.Parameters.Append(param)
    cmd(\"theCategory\") = Cint(category)
   

    set rs = cmd.Execute


        b = 1   
    if not rs.EOF and rowCount < rs.PageSize  then

        catname = rs(\"catdescription\")
        strHTML = \"<table border=0 cellPadding=3 cellSpacing=0 width=\'*\'>\"
   
        i = 1
        while not rs.EOF
        if b = 2 then
            strHTML = strHTML & \"<tr BGCOLOR=\'#ffffff\'>\"
            b = 1
            else
            strHTML = strHTML & \"<tr BGCOLOR=\'#d79423\'>\"
            b = b + 1
            end if

            strHTML = strHTML & \"<td valign=middle width=\'*\'>\"
            strHTML = strHTML &  \"<b>\" & rs(\"cname\")& \", </b>\" & rs(\"cweight\") & \" gram</td>\"       
            strHTML = strHTML & \"<form action=\"&q&\"addtocart.asp\"&q&\" method=\"&q&\"POST\"&q&\" name=form\"&i&\" onSubmit=\"&q& \"return checkItems(form\"&i&\")\" &q&\">\"
   
            strHTML = strHTML & \"<td valign=middle width=\'100\'>\"
            if rs(\"cprice\") = 0 then vpris = 12 else vpris = 0 end if
            strHTML = strHTML & \"Pris: \" & FormatCurrency(vpris + rs(\"cprice\"),2) &  \"<input type=\"&q&\"hidden\"&q&\" size=3 name=\"&q&\"fproductid\"&q&\" value=\"&q & rs(\"catalogID\")& q&\"></td>\"

    strHTML = strHTML & \"<td valign=middle width=\'*\'><input maxLength=\"&q&\"2\"&q&\" name=\"&q&\"fquantity\"&q&\" size=2 value=\"&q&\"\"&q&\"> stk.</td>\"
            strHTML = strHTML & \" <td><input type=\"&q&\"submit\"&q&\" value=\"&q&\"BESTIL\"&q&\" name=\"&q&\"order\"&q&\">\"
            strHTML = strHTML & \"</td></form>\"
            if (i mod 1) = 0 then
                strHTML = strHTML & \"</tr><tr>\"
            end if
            i = i + 1
    rowCount = rowCount + 1
     
            rs.MoveNext
        wend
        strHTML = strHTML & \"</tr></table>\"
    else
        strHTML = \"Produktinformation ikke fundet!.\"
        catname = \"Error\"
    end if
        productslist = strHTML
\' Hvis der er behov for flere sider for at vise hele recordsettet, så kommer her links...
If rs.PageCount <> 1 Then
  For i = 1 to rs.PageCount
    response.write \"<a href=\'paging.asp?page=\" & i & \"\'>\" & i & \"</a>\"
next
  end if
    rs.Close
    set rs = nothing
    set cmd = nothing



end sub

%>
<html>
<head>
<title>Products</title>
<SCRIPT LANGUAGE=javascript>
<!--
function checkItems(formobj)
{
    var quant = formobj.fquantity.value
    if (isNaN(quant) == true || quant < 1 || quant > 99)
    {
        alert(\"Please enter a number between 1 and 99\");
        formobj.fquantity.focus();
        return false
    }else
    {
        return true;
    }
}
//-->
</SCRIPT>
<link rel=\"stylesheet\" type=\"text/css\" href=\"eposter.css\">
        <meta name=\"site-config-URL\" content=\"\">
    </head>
<body>
<center>

<!-- #include file=\"hoved.htm\" -->           
               
    <h2>
    <%
    \'on error resume next
    call openConn()
    call productInfo(dbc,catid)
   
    call closeConn()
    response.write catname
    %>
    </h2><div>
 

    <%= productslist %>
<% timeEnd =  now()
response.write DateDiff(\"s\", timeStart , timeEnd )
%>
    </div></center>

</body>
</html>
Avatar billede darkhero Nybegynder
18. maj 2001 - 12:18 #1
<%
intPage = Request(\"page\")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If

Set rs = Server.CreateObject(\"ADODB.RecordSet\")
strSQL = \"SELECT LinkURL FROM Links\"
strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"/aspdigital/db/demo.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 \"<p><b>Side \" & intPage & \" af \" & intPageCount & \"</b></p>\"
    Do While Not rs.EOF And intRecCount > 0
        Response.Write rs(\"LinkURL\") & \"<br>\"
    intRecCount = intRecCount - 1
    rs.MoveNext
    Loop
End If
rs.Close
Set rs = Nothing

Response.Write \"<p>Gå til side \"
For intNum = 1 To intPageCount
    Response.Write \"<a href=paging.asp?page=\" & intNum & \">\" & intNum & \"</a> \"
Next

Response.Write \"<p>\"
If Clng(intPage) > 1 Then
    Response.Write \"<a href=paging.asp?page=\" & intPage - 1 & \">&lt;&lt;</a>\"
Else
    Response.Write \"&lt;&lt;\"
End If

Response.Write \"&nbsp;\"

If Clng(intPage) < Clng(intPageCount) Then
    Response.Write \"<a href=paging.asp?page=\" & intPage + 1 & \">&gt;&gt;</a> \"
Else
    Response.Write \"&gt;&gt;\"
End If
%>
Avatar billede styrbaek Nybegynder
18. maj 2001 - 12:31 #2
Jeg kan ikke rigtig overskue hvor jeg skal indsætte de forskellige linjer i mit script.
Kan du ikke prøve at indsætte din kode i min kode?
Avatar billede styrbaek Nybegynder
18. maj 2001 - 12:33 #3
Jeg har prøvet at indesætte den kode du har skrevet, men linjen \"rs.AbsolutePage = intPage\" giver mig problemer.
   
Avatar billede darkhero Nybegynder
18. maj 2001 - 14:51 #4
jo... send mig din side.. du kan se mail eller ICQ i min minisite
Avatar billede rapolaaa Nybegynder
04. juni 2001 - 14:09 #5
er dit problem blevet løst?
Avatar billede styrbaek Nybegynder
04. juni 2001 - 21:51 #6
Nej problemet er ikke løst, men jeg har ikke rigtig tid til at gøre flere forsøg.
Jeg siger alligevel tak for hjælpen og da darkhero er den eneste der har give et svar får han pointene.
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