Avatar billede nazty Nybegynder
09. maj 2007 - 14:16 Der 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?

Håber i kan hjælpe
Avatar billede jansangill Nybegynder
09. maj 2007 - 15:58 #1
<%
'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 & ">&lt;&lt;</a>"
Else
  Response.Write "&lt;&lt;" 'skal gøres pænere, bedre look
End If

Response.Write "&nbsp;"

'viser next page
If Clng(intPage) < Clng(intPageCount) Then
  Response.Write "<a href=showGuestbook.asp?page=" & intPage + 1 & ">&gt;&gt;</a> "
Else
  Response.Write "&gt;&gt;"'skal gøres pænere, bedre look
End If
%>
Avatar billede jansangill Nybegynder
09. maj 2007 - 16:00 #2
måske nogle end if'er for meget med, men det kan du jo tilpasse.
Avatar billede nazty Nybegynder
10. maj 2007 - 14:56 #3
Det er sq svært. Der meget rigtigt ud, men får den her fejl, har nok sat det ind de forkerte steder. Min side ser sådan ud:

---------------------------
Side 1 af 46

ET ELLER ANDET

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'rs'

/unique/mains/sites/site_produkter.asp, line 101

---------------------------
Linie 101:
id = rs("id") + 2152
Avatar billede jansangill Nybegynder
10. maj 2007 - 15:00 #4
mismatch må her betyde at den ikke recognicer rs

vis hele din kode
Avatar billede nazty Nybegynder
10. maj 2007 - 15:10 #5
<head>
    <script type="text/javascript" src="../../lightbox/js/prototype.js"></script>
    <script type="text/javascript" src="../../lightbox/js/scriptaculous.js?load=effects"></script>
    <script type="text/javascript" src="../../lightbox/js/lightbox.js"></script>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
    <meta name="keywords" content="keyword"/>
    <meta name="description" content="tekst"/>
    <meta name="generator" content="Adobe GoLive"/>
    <link href="../../css/basic.css" type="text/css" rel="stylesheet"/>
    <link href="../../lightbox/lightbox.css" type="text/css" rel="stylesheet"/>
    <title>Holden Unique</title>
    <script language="JavaScript">
        <!--
        function MM_openBrWindow(theURL,winName,features) { //v2.0
          window.open(theURL,winName,features);
        }
        //-->
</script>
</head>

<body background="../../img/site/bg_site.gif" bgproperties="fixed" leftmargin="0" marginheight="0" marginwidth="0" topmargin="0">
    <div align="left">
        <div style="position:absolute;top:10px;left:0px;width:670px;height:689px;-adbe-c:c">
            <div align="left">
                <h1>Produkter<br/>
                </h1>
                <table width="100%" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                        <td>
                            <div align="center">
                                <h3 align="left"><font color="black">Sorter efter:</font><br/>
                                    <font color="black">»</font><font color="#eeeeee"> <a href="site_produkter.asp">Alle grupper</a><a href="login/site/admin_del_user.asp" target="_parent"> </a></font><font color="#bbbbbb">| </font><font color="#eeeeee"><a href="site_produkter.asp?gruppe=bonsai">Form klippede planter/Bonsai</a><a href="login/site/admin_add_user.asp" target="_parent"> </a></font><font color="#bbbbbb">|</font><font color="#eeeeee"> <a href="site_produkter.asp?gruppe=soliter">Solitær planter</a><a href="login/site/admin_del_user.asp" target="_parent"> </a></font><font color="#bbbbbb">|</font><font color="#eeeeee"> <a href="site_produkter.asp?gruppe=krukker">Krukker</a></font><font color="#eeeeee"><a href="site_produkter.asp?vare_gruppe=krukker"> </a></font><font color="black">«</font></h3>
                            </div>
                        </td>
                    </tr>
                </table>
                <br/>
                <table width="100%" border="0" cellspacing="0" cellpadding="0">
                    <tr height="1">
                        <td bgcolor="#e7e7e7" height="1"></td>
                    </tr>
                </table>
                <br/>
                <font size="3"><strong>
<%

'****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 & ">&lt;&lt;</a>"
Else
  Response.Write "&lt;&lt;" 'skal gøres pænere, bedre look
End If

Response.Write "&nbsp;"

'viser next page
If Clng(intPage) < Clng(intPageCount) Then
  Response.Write "<a href=showGuestbook.asp?page=" & intPage + 1 & ">&gt;&gt;</a> "
Else
  Response.Write "&gt;&gt;"'skal gøres pænere, bedre look
End If
%>
%>
                <p>
                </p>
            </div>
        </div>
    </div>
</body>



</html>
Avatar billede jansangill Nybegynder
10. maj 2007 - 15:16 #6
Hvor får du rs fra?

id = rs("id") + 2152

Måske id= db("id") + 2152
Avatar billede nazty Nybegynder
10. maj 2007 - 16:03 #7
Du er genial :D

Lige et spørgsmål:
Hvordan får jeg den side man er på, til at være med fed font?
Avatar billede jansangill Nybegynder
10. maj 2007 - 16:22 #8
response.write "<strong>" & intPage & "</strong>"  ?
Avatar billede jansangill Nybegynder
10. maj 2007 - 16:33 #9
put dette her istedte for:

'viser previous page
response.write "<p align='center'>"
If Clng(intPage) > 1 Then
Response.Write "<a href=showGuestbook.asp?page=" & intPage - 1 & ">&lt;&lt;</a>"
End If

Response.Write "&nbsp;&nbsp;"

'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 "&nbsp;&nbsp;"

'viser next page

If Clng(intPage) < Clng(intPageCount) Then
  Response.Write "<a href=showGuestbook.asp?page=" & intPage + 1 & ">&gt;&gt;</a> "
End If
response.write "</p>"


Dette vil vise: Gå til side: << 12345678 >> , hvor hvis du er på side 4, er 4 bold.
Avatar billede nazty Nybegynder
10. maj 2007 - 16:50 #10
Det er perfekt, mange tak!
Avatar billede nazty Nybegynder
10. maj 2007 - 16:50 #11
smid et svar forresten!
Avatar billede jansangill Nybegynder
10. maj 2007 - 17:44 #12
Svar
Avatar billede jansangill Nybegynder
10. maj 2007 - 17:44 #13
ups SVAR
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