Avatar billede k-asp-er Nybegynder
26. juli 2001 - 01:53 Der er 3 kommentarer og
1 løsning

Sidenavigering

Er rendt ind i mere end jeg kan gabe over.
Jeg har engang lavet en side, hvor listen hentet fra db tog 7 emner og så forsatte på næste side. Den kode har jeg igen lavet:
------------------------------
<%@ Language=VBScript %>
<%
Option Explicit
Response.Expires = 0 \'ingen cachelagring af siden, da indholdet ændres, når der navigeres gennem postsættet.
Const intPageSize = 7 \'Antallet af poster pr. side.
Dim intCurrentPage, objConn, objRS, strQ \' 1)indeholder den aktuelle sides sidenummer under hele afviklingen af scriptet 2)indeholder connection-objektet, 3)Recordset-objektet, 4)strQ bruges til at opbevare forespørgselssætningen.
Dim intTotalPages, intI \' intI bruges til at opbevare nummeret på posten fra aktuel postsætside, mens posterne gennemløbes.

\'Indstilling af det aktuelle sidenummer
If Request.ServerVariables(\"CONTENT_LENGHT\") = 0 then
    intCurrentPage = 1
else
    intCurrentPage = CInt(Request.Form(\"CurrentPage\"))
    Select Case Request.Form(\"Submit\")
        Case \"Previous\"
            intCurrentPage = -1
        Case \"Next\"
            intCurrentPage = +1
    End Select
End if

\'Forberedelse af postsæt til sidenavigering
set objConn = server.CreateObject(\"ADODB\".Connection) \' er jo sat i min kode
objConn.Open \"Data Source=nyby-larsen;User ID=sa;Password=;\" \' skulle gerne være sket

set objRS = Server.CreateObject(\"ADODB.Recordset\")
objRS.CursorLocation = adUseClient
objRS.CursorType = adOpenStatic
objRS.CacheSize = intPageSize

\'Åbning af postsættet
strQ = \"SELECT tabel,felt\"
strQ = FROM database\"
objRS.Open strQ, objConn, , , adCmdText

\'indstilling af markør
objRS.PageSize = intPageSize
if Not (objRS).EOF) Then objRS.AbsolutePage = intCurrentPage

\'Afsendelse af databasedata
intTotalPages = objRS.PageCount
%>
<HTML>
<HEAD>
<META NAME=\"GENERATOR\" Content=\"Microsoft Visual Studio 6.0\">
</HEAD>
<BODY>

Her skrives skidtet
<%
For intI = 1 to objRS.PageSize
Response.Write Server.HTMLEncode(objRS(\"felt\") & \"<br>\"
objRS.MoveNext
If objRS.EOF Then Exit for
Next
%>

<br>
Side <%= intCurrentPage %> af <%= intTotalPages %>

<!-- Etablering af den webformular, der anvendes ved sidenavigering -->
<FORM ACTION = \"<%=Request.ServerVariables(SCRIPT_NAME) %>\" METHOD = \"POST\">
<INPUT TYPE = \"Hidden\" Name = \"CurrentPage\" Value = \"<%= intCurrentPage %>\">

<% If CurrentPage > 1 Then %>
<INPUT TYPE=\"Submit\" Name=\"Submit\" Value=\"Forrige Side\">
<% End if
If CurrentPage <> intTotalPages Then %>
<INPUT TYPE=\"Submit\" Name=\"Submit\" Value=\"Næste Side\">
<% End if %>
</FORM>
</BODY>
</HTML>
----------------------------------------

Mit problem er så, at jeg skal bruge den i et script, hvor der bare genereres fejl på fejl, når jeg forsøger. Scriptet ligger i et site, hvor jeg anvender global.asa og ODBC, det er normalt dejlig nemt.....
Men altså ikke lige her. Data Souce navn er \"test\".
Scriptet kommer her:

-----------------------------------------
<form action=\"carrier.asp?mchoice=<%=mchoice%>&amp;eventtype=<%=eventtype%>\" method=\"POST\" id=\"form2\" name=\"form2\">


  <% set profil = session(\"db\").execute(\"select * from profil\")%>
      <table WIDTH=\"450\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">
    <tr>
    <td align=\"center\">
<% set produkt = session(\"db\").execute(\"select * from produkt\") %>
<% set profillinie = session(\"db\").execute(\"select * from profillinie where profilid=\" & profil(\"profilid\")) %>
<form action=\"ProduktListe.ASP\" method=\"POST\" id=\"form1\" name=\"form1\">
<input type=\"hidden\" id=\"funk\" name=\"funk\" value=\"<%=funk%>\"></span>
</td>
</tr>
</table>
    <table WIDTH=\"450\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">
    <tr><td><img SRC=\"images/space.gif\" WIDTH=\"23\" HEIGHT=\"23\"></td>
   
<% do while not profillinie.eof %>   
    <% if profillinie(\"liste\") = true then %>
        <td><font color=\"#496BB3\" face=\"verdana\" size=\"1\"><b><%=profillinie(\"navn\")%></b></font></td>
    <% end if %>
<% profillinie.movenext %>
<% loop %>
    </tr>
<% set produkt = session(\"db\").execute(\"select * from produkt\") %>
    <% do while not produkt.eof %>
    <% set profillinie = session(\"db\").execute(\"select * from profillinie where profilid=\" & profil(\"profilid\")) %>
    <tr><td><img SRC=\"images/nav_right.gif\" WIDTH=\"23\" HEIGHT=\"23\" alt=\"Klik et sted på teksten for at komme videre til billeder og detaljer\"></td>
    <% do while not profillinie.eof %>
        <% if profillinie(\"type\") = \"Tekst\" and profillinie(\"liste\") then %>
            <% set tex = session(\"db\").execute(\"select * from produkt_tekst where produktid=\" & produkt(\"produktid\") & \" and linieid=\" & profillinie(\"linieid\")) %>
            <% if not tex.eof then
                val = tex(\"tekst\")
              else
                val = \"\"
              end if %>
        <td><a href=\"content.asp?mchoice=<%=mchoice%>&sbaid=2&amp;pid=<%=produkt(\"produktid\")%>\"><font color=\"#000000\" face=\"verdana\" size=\"1\"><%=val%></font></a></td>
        <% end if %>
        <% if profillinie(\"type\") = \"Tal\" and profillinie(\"liste\") then %>
            <% set tex = session(\"db\").execute(\"select * from produkt_tal where produktid=\" & produkt(\"produktid\") & \" and linieid=\" & profillinie(\"linieid\")) %>
            <% if not tex.eof then
                val = tex(\"tal\")
              else
                val = \"\"
              end if %>
        <td align=\"right\"><a href=\"content.asp?mchoice=<%=mchoice%>&sbaid=2&amp;pid=<%=produkt(\"produktid\")%>\"><font color=\"#000000\" face=\"verdana\" size=\"1\"><%=val%></font></a></span></td>
        <% end if %>
    <% profillinie.movenext %>
    <% loop %>
    </tr>
    <% produkt.movenext %>
    <% loop %>
   
</table>
</form><% end if %>
-----------------------------------------

Jeg har fået 302 nye grå hår i løbet af de sidste par dage.
mvh.
K-asp-er

Avatar billede k-asp-er Nybegynder
26. juli 2001 - 01:57 #1
Jeg skylder lige at sige, at scriptet hentes som en include-fil    ...

<!--#include file=\"../include/liste.asp\"-->
Avatar billede kichian Nybegynder
26. juli 2001 - 13:08 #2
Hvilke fejl opstår der?
Avatar billede k-asp-er Nybegynder
27. juli 2001 - 03:43 #3
Beklager, jeg har været indisponibel pga. Hacked by Chinese - alle mine forms i filer, der starter med l, var blevet inficeret. Lowlevelformattering og securitypatches med det samme - sikke noget l...
---------------------
Hvad svarer f. eks. objRS i øverste kode til i den nederste? Jeg mener jo, det skulle være såvel profillinie som produkt, men hvad så med tex?

Jeg skrev den nederste kode for over et år siden, den øverste for mere end halvandet år siden. Nu bruger jeg udelukkende session object, så standard asp er meget rusten.
En af fejlene er:

HTTP Error 500-12 Application Restarting
Internet Information Services

--------------------------------------------------------------------------------

Technical Information (for support personnel)


Background:
The request cannot be processed while the Web site is restarting.
----
en anden:
Error Code: 500 Sub Error Code: 100
Internal Server Error - ASP error
----
Mvh.


More information:


Men jeg prøver altså på at indsætte relevant kode fra øverste kode i den nederste
Avatar billede k-asp-er Nybegynder
30. juli 2001 - 00:09 #4
Lukker spørgsmålet, da der ikke er nogen reaktioner
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