09. maj 2007 - 14:16Der er
12 kommentarer og 1 løsning
Side skift med udtræk fra db
Hej eksperter
Det her spørgsmål har sikkert været her 50.000 gange. Men ka sq ik li finde det.
Jeg har en side med 5000 produkter. Den side tager 3min at hente med normalt adsl. Syns det er lige i overkanten. Jeg vil løse problmet ved at lave sideskift, med 25 produkter på hver side... Men hvordan?
<% 'deklarer intpage til paging intPage = Request("page") If isNumeric(intPage) = False Or intPage < 1 Then intPage = 1 End If
'Åbner forbindelse Set db = Server.CreateObject("ADODB.RecordSet") SQL = ("select * from besked") JET = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.MapPath("guestbook.mdb") db.Open SQL, JET, 1
'Hvis ikke db er BOF eller EOF, så gælder dette: If Not (db.BOF Or db.EOF) Then db.PageSize = 2 db.AbsolutePage = intPage intRecCount = db.PageSize intPageCount = db.PageCount
'skriver intPage og intPageCount til siden, vil se sådan her ud: "side x af x". Response.Write "<p><b>Side " & intPage & " af " & intPageCount & "</b></p>"
'hvis dbGuestbook tom, så
if db.eof then
ET ELLER ANDET
'ellers skriv det her til siden else
'gør dette mens databasen ikke er tom og pagesize(intRecCount) er større end 0 Do While Not db.EOF And intRecCount > 0
TABEL
'lukker forbindelsen plus slutter mine if sætninger og looper databasen til den er færdig intRecCount = intRecCount - 1 db.MoveNext end if Loop end if end if db.Close Set db = Nothing
'viser gå til næste side Response.Write "<p>Gå til side " For intNum = 1 To intPageCount Response.Write "<a href=showGuestbook.asp?page=" & intNum & ">" & intNum & "</a> " Next
'viser previous page Response.Write "<p>" If Clng(intPage) > 1 Then Response.Write "<a href=showGuestbook.asp?page=" & intPage - 1 & "><<</a>" Else Response.Write "<<" 'skal gøres pænere, bedre look End If
Response.Write " "
'viser next page If Clng(intPage) < Clng(intPageCount) Then Response.Write "<a href=showGuestbook.asp?page=" & intPage + 1 & ">>></a> " Else Response.Write ">>"'skal gøres pænere, bedre look End If %>
'****PAGE: deklarer intpage til paging intPage = Request("page") If isNumeric(intPage) = False Or intPage < 1 Then intPage = 1 End If '----------------------------------------------------------------- '--------DATABASE ACCESS------------------------------------------ '----------------------------------------------------------------- gruppe = Request.Querystring("gruppe") '//// Ingen gruppe if gruppe = "" then
'Åbner forbindelse Set db = Server.CreateObject("ADODB.RecordSet") SQL = ("SELECT * FROM lager WHERE lager>'0' ORDER BY beskrivelse") JET = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.MapPath("../../../log/db.mdb") db.Open SQL, JET, 1
else 'Åbner forbindelse Set db = Server.CreateObject("ADODB.RecordSet") SQL = ("SELECT * FROM lager WHERE lager>'0' AND placering = '" & gruppe & "' ORDER BY beskrivelse") JET = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.MapPath("../../../log/db.mdb") db.Open SQL, JET, 1
end if '----------------------------------------------------------------- '--------DATABASE ACCESS END-------------------------------------- '----------------------------------------------------------------- %> <% '****PAGE: Hvis ikke db er BOF eller EOF, så gælder dette: If Not (db.BOF Or db.EOF) Then db.PageSize = 2 db.AbsolutePage = intPage intRecCount = db.PageSize intPageCount = db.PageCount
'****PAGE: skriver intPage og intPageCount til siden, vil se sådan her ud: "side x af x". Response.Write "<p><b>Side " & intPage & " af " & intPageCount & "</b></p>"
'hvis db tom, så
if db.eof then Response.Write "TOM!" 'ellers skriv det her til siden else Response.Write "IKKE TOM!"
'gør dette mens databasen ikke er tom og pagesize(intRecCount) er større end 0 Do While Not db.EOF And intRecCount > 0
id = rs("id") + 2152 beskrivelse = rs("beskrivelse") beskrivelse2 = rs("beskrivelse2") vekst = rs("vekst") lov = rs("lov") blomst = rs("blomst") frugt = rs("frugt") alder = rs("alder") str = rs("str") pris = rs("pris") nr = rs("nr") placering = rs("placering") %> </strong></font><font size="3"><strong> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td width="517"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="517"> <h2><%=beskrivelse%> <% if beskrivelse2 <> "" then Response.Write "(" & beskrivelse2 & ")" end if %></h2> </td> </tr> <tr> <td width="517"> <p><i>Vare nr: <%=id%></i></p> </td> </tr> <tr> <td width="517"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="75"> <p>Alder:</p> </td> <td width="184"> <p><% if alder <> "" then Response.Write alder end if %></p> </td> <td width="75"> <p>Størrelse:</p> </td> <td width="183"> <p><% if str <> "" then Response.Write str end if %></p> </td> </tr> <tr> <td width="75"> <p>Vækst:</p> </td> <td width="184"> <p><% if vekst <> "" then Response.Write vekst end if %></p> </td> <td width="75"> <p>Løv:</p> </td> <td width="183"> <p><% if lov <> "" then Response.Write lov end if %></p> </td> </tr> <tr> <td width="75"> <p>Blomst:</p> </td> <td width="184"> <p><% if blomst <> "" then Response.Write blomst end if %></p> </td> <td width="75"> <p>Frugt:</p> </td> <td width="183"> <p><% if frugt <> "" then Response.Write frugt end if %></p> </td> </tr> <tr> <td width="75"> <p><% if Session("login") = "kunde" or Session("login") = "admin" then if pris <> "" then Response.Write "Pris:" end if end if%><br/> </p> </td> <td width="184"> <p><strong><% if Session("login") = "kunde" or Session("login") = "admin" then if pris <> "" then Response.Write pris end if end if %></strong></p> </td> <td width="75"> <p><% if Session("login") = "admin" then if nr <> "" then Response.Write "Stregkode:" end if end if%></p> </td> <td width="183"> <p><% if Session("login") = "admin" then if nr <> "" then Response.Write nr end if end if %></p> </td> </tr> <tr> <td width="75"><br/> </td> <td width="184"></td> <td width="75"></td> <td width="183"></td> </tr> <tr> <td width="75"></td> <td width="184"></td> <td width="75"></td> <td width="183"></td> </tr> </table> </td> </tr> </table> </td> <td width="150"> <div align="right"> <table width="100" border="0" cellspacing="0" cellpadding="0"> <tr height="19"> <td height="19"></td> </tr> <tr> <td> <table width="136" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <div align="right"> <% folder = "../../../log/unique/img" first = nr & ".jpg" %><font size="1"><a href="java script:MM_openBrWindow('site_produkter_img.asp?id=<%=id%>','','status=yes,width=671,height=751')">Printvenlig produkt </a></font></div> <p><a href="<%=folder%>/<%=first%>" rel="lightbox"><img id="<%=nr%>" src="<%=folder%>/<%=first%>" name="<%=nr%>" height="99" width="142" border="1"/></a></p> </td> </tr> <tr> <td> <div align="right"> <p><% count=0 set fs=Server.CreateObject("Scripting.FileSystemObject") set f=fs.GetFolder(server.mappath(folder)) for each file in f.files name = file.name if lcase(left(name,13)) = nr and lcase(right(name,3)) = "jpg" then if count = "" then first = name end if count=count+1 if count <> 0 then %><span id="<%=count%>" style="cursor:hand" onclick="document.getElementById('<%=nr%>').src='<%=folder%>/<%=name%>';"><% Response.Write "| " & count %></span><% end if end if next set f=nothing set fs=nothing if first <> "" then %><% end if %>|</p> </div> </td> </tr> </table> </td> </tr> </table> </div> </td> </tr> </table> </strong></font><br/> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr height="1"> <td bgcolor="#e7e7e7" height="1"></td> </tr> </table> <br/> <% 'lukker forbindelsen plus slutter mine if sætninger og looper databasen til den er færdig intRecCount = intRecCount - 1 db.MoveNext Loop end if end if db.Close Set db = Nothing
'viser gå til næste side Response.Write "<p>Gå til side " For intNum = 1 To intPageCount Response.Write "<a href=showGuestbook.asp?page=" & intNum & ">" & intNum & "</a> " Next
'viser previous page Response.Write "<p>" If Clng(intPage) > 1 Then Response.Write "<a href=showGuestbook.asp?page=" & intPage - 1 & "><<</a>" Else Response.Write "<<" 'skal gøres pænere, bedre look End If
Response.Write " "
'viser next page If Clng(intPage) < Clng(intPageCount) Then Response.Write "<a href=showGuestbook.asp?page=" & intPage + 1 & ">>></a> " Else Response.Write ">>"'skal gøres pænere, bedre look End If %> %> <p> </p> </div> </div> </div> </body>
'viser previous page response.write "<p align='center'>" If Clng(intPage) > 1 Then Response.Write "<a href=showGuestbook.asp?page=" & intPage - 1 & "><<</a>" End If
Response.Write " "
'viser gå til næste side
'viser gå til næste side Response.Write "Gå til side " visAntal = 6 intStart = intPage - visAntal intSlut = intPage + visAntal if intStart <= 0 then intStart = 1 if intSlut > intPageCount then intSlut = intPageCount For intNum = intStart To intSlut if CInt(intNum) = CInt(intPage) then Response.Write " <b>" & intNum & "</b> " else Response.Write "<a href=topic1.asp?page=" & intNum & ">" & intNum & "</a> " end if Next
Response.Write " "
'viser next page
If Clng(intPage) < Clng(intPageCount) Then Response.Write "<a href=showGuestbook.asp?page=" & intPage + 1 & ">>></a> " End If response.write "</p>"
Dette vil vise: Gå til side: << 12345678 >> , hvor hvis du er på side 4, er 4 bold.
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.