Avatar billede benkebus Nybegynder
31. marts 2003 - 15:04 Der er 2 løsninger

Integrera ett pagingscript

Har gjort denna sida som jag är nöjd med förutom att den kommer att bli lång... Hur ska jag kunna infoga en pageingfuktion till denna kod? Behöver verkligen hjälp!

<%
Response.CacheControl = "Public"
StartTime = Timer()
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--#include file="inc_dbcon.asp"-->
<%
if request.querystring("sort")="" then
    SQLstringK="Select * from upload"
elseif request.querystring("sort")="namn" then
    SQLstringK="Select * from upload order by filnamn"
elseif request.querystring("sort")="storl" then
    SQLstringK="Select * from upload order by filsize"
elseif request.querystring("sort")="datum" then
    SQLstringK="Select * from upload order by datum"
elseif request.querystring("sort")="kund" then
    SQLstringK="Select * from upload order by kund"
elseif request.querystring("sort")="epost" then
    SQLstringK="Select * from upload order by epost"
    elseif request.querystring("sort")="loadtime" then
    SQLstringK="Select * from upload order by loadtime"
end if

    SET rs=Connection.Execute(SQLstringK)
    if request.querystring("id")<>"" then
    SQLstringK2="Select * from upload where id="&request.querystring("id")&""
    SET rs2=Connection.Execute(SQLstringK2)   
    end if
   
    SQLstringK3="SELECT avg(speed) as avgspeed FROM upload"
    SET rs3=Connection.Execute(SQLstringK3)
   
   
%>

<html>
<head>
    <title>Uploadstats</title>
    <link rel="stylesheet" href="css/style.css">
    </head>

<body bgcolor="#ffffff" topmargin="1" leftmargin="2">

<table cellpadding="1" cellspacing="0" border="0"><tr><td valign="top">
<table width="500" border="0" class="tds">
<tr bgcolor="#0C4A6A">
<td align="center" colspan="2"><a href="index.asp?sort=namn" class="whitetext">Filnamn</a></td>
<td align="center"><a href="index.asp?sort=storl" class="whitetext">Storlek</a></td>
<td align="center"><a href="index.asp?sort=datum" class="whitetext">Datum</a></td>
<td align="center"><a href="index.asp?sort=loadtime" class="whitetext">Ul-tid</a></td>
<td align="center" colspan="2"><a href="index.asp?sort=speed" class="whitetext">Speed</a></td>
</tr>
<%
DIM iRecordCount
iRecordCount = 0
DO WHILE NOT rs.EOF

filsize = rs("filsize") / 1048576
IF iRecordCount Mod 2 = 0 THEN

%>
  <tr onMouseOver="this.style.background='#0C4A6A'" onMouseOut="this.style.background='#ffffff'">
      <td width="1">&nbsp;</td>
    <td bgcolor="#FFFFFF" align="left">&nbsp;<a href="index.asp?id=<%=rs("id")%>&action=visa"><%=rs("filnamn")%></a></td>
    <td bgcolor="#FFFFFF" align="center"><%=round(filsize,2)%> Mb</td>
    <td bgcolor="#FFFFFF" align="center"><%=left(rs("datum"),10)%></td>
    <td bgcolor="#FFFFFF" align="center"><%=rs("loadtime")%></td>
    <td bgcolor="#FFFFFF" align="center"><%=round(rs("speed"),2)%> kB/s</td>
    <td width="1">&nbsp;</td>
  </tr>
<% ELSE %>
  <tr onMouseOver="this.style.background='#0C4A6A'" onMouseOut="this.style.background='#ffffff'">
      <td width="1">&nbsp;</td>
    <td bgcolor="#cccccc" align="left">&nbsp;<a href="index.asp?id=<%=rs("id")%>&action=visa"><%=rs("filnamn")%></a></td>
    <td bgcolor="#cccccc" align="center"><%=round(filsize,2)%> Mb</td>
    <td bgcolor="#cccccc" align="center"><%=left(rs("datum"),10)%></td>
    <td bgcolor="#cccccc" align="center"><%=rs("loadtime")%></td>
    <td bgcolor="#cccccc" align="center"><%=round(rs("speed"),2)%> kB/s</td>
    <td width="1">&nbsp;</td>
  </tr>

<%
END IF
iRecordCount = iRecordCount + 1
rs.MoveNext
Loop
%>
</TABLE>
<% if request.querystring("action")<>"" then %>
</td><td valign="top">
<table class="tdb"><tr>
<td><b>Kund:</b><br>
<%=rs2("kund")%></td>
<td>&nbsp;</td>
<td width="7"><b>IP:</b><br>
<%=rs2("ip")%></td>
</tr><tr>
<td colspan="3"><b>Kontaktperson:</b><br>
<%=rs2("kontaktperson")%>
</td>
</tr><tr>
<td colspan="3"><b>Epost:</b><br>
<%=rs2("epost")%>
</td>
</tr><tr>
<td colspan="3"><b>Datum:</b><br>
<%=rs2("datum")%>
</td>
</tr><tr>
<td colspan="3"><div align="center">Ladda ner &nbsp;&nbsp;&nbsp; Radera</div></td>
</tr><table>
<% else %>
</td</tr></table>
<% end if

%>
</td></tr></table></td></tr></table>
<%
folderspec = Server.Mappath("/../upload/")

' FileSystem objektet
Set fso = CreateObject("Scripting.FileSystemObject")

' Folder objektet
Set f = fso.GetFolder(folderspec)
folder=f.size/1048576

Response.Write "<span class=boldcolor>I mappen upload finns det " & round(folder,2) & " Mb</span><br>"
Response.Write "<span class=boldcolor>Medelspeed " & rs3("avgspeed") & " Kb/s</span><br>"

%>

<map name="header">
<area alt="" coords="14,6,224,93" href="index.asp">
</map>
<%
rs.Close
Set rs = Nothing
Connection.Close
Set Connection = Nothing

et = Timer() - StartTime
exetid = round(et,4)
%>
<span class="copy"><%=exetid%> sekunder</span>
</body>
</html>
Avatar billede verakso Nybegynder
31. marts 2003 - 15:52 #1
Du skriver desværre ikke hvilken database du bruger, så jeg kan ikke udelukke at det kunne gøres smartere eller hurtigere med en Stored Procedure, men.

Man kan dog også hente sine data ud i et array, hvilket oftest er hutigere.

Så ved at ændre lidt på den måde du åbner databsen kan man ret hurtigt lave lidt pagination.

intNumRecs = 20
intPageNum = 0
   
Set oCommand = Server.CreateObject("ADODB.Command")
oCommand.ActiveConnection = ' Din connection
Set oRecordSet = oCommand.Execute(SQLstringK)
oRecordSet.Move((intPageNum * intNumRecs))
   
If Not oRecordSet.EOF Then
  arrData = oRecordSet.getRows(intNumRecs)
End If
   
oRecordSet.Close
Set oRecordSet = Nothing

Herefter løber man så selve arrayet igennem i stedet for recordsettet, hvilket giver en del performance. Jeg vil dog ikke udelukke at man godt kan bruge Move, på sit recordset uden at bruge et Array.
Fidusen ved at ligge sine data i et Array er, at man så ret hurtigt kan lukke for sit recordset, og derved få adgang til eventuelle retur parametre (SQL Server).

Alternativt kan man blot hente alle records ud ved hjælp af getRows, og så holde styr på hvilken side man er, når man løber posterne igennem
Brugen af getRows er nærmere beskrevet her: http://www.devguru.com/Technologies/ado/quickref/recordset_getrows.html
Avatar billede benkebus Nybegynder
23. oktober 2003 - 08:45 #2
Japps... hade jag haft sqlserver eller mysql så...

men det har jag inte, men tack för visat intresse och du får iallafall några poäng...
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