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%>&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&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&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
