Avatar billede brevkasserne Nybegynder
07. april 2002 - 02:46 Der er 3 kommentarer og
2 løsninger

Opdeling af sider...

Er der nogen der kan tilføje koder til dette så siderne automatisk bliver delt op så der kun bliver vist 10 udtræk pr. side. Og henvisninger i bunden af koden, tilbage 1 2 3 og frem bliver aktiveret alt efter hvilken side man er på... Håber i forstår.

<table>
<%
Set Spoergsmaal = Connection.Execute("Select * From indlaeg Where kategoriid = "& Underkategori("id") &" And tilhoerendetil = 0 And accepteret = 0 Order By dato Desc")
Spoergsmaal.MoveFirst
Do Until Spoergsmaal.EOF
%>
<tr>
<td><%= Spoergsmaal("titel") %></td>
<td><%= Spoergsmaal("dato") %></td>
<% Set Indlaeg = Connection.Execute("Select Count(id) As Antal From indlaeg Where tilhoerendetil = "& Spoergsmaal("id") &"") %>
<td><%= Indlaeg("Antal") %></td>
<% Set Indlaeg = Nothing %>
</tr>
<%
Spoergsmaal.MoveNext
Loop
Set Spoergsmaal = Nothing
%>
</table>
<table cellpadding="2" cellspacing="1" width="100%">
<tr>
<td>Tilbage</td>
<td>1 · 2 · 3</td>
<td>Frem</td>
</tr>
</table>
Avatar billede yellow Nybegynder
07. april 2002 - 02:56 #1
Avatar billede brevkasserne Nybegynder
07. april 2002 - 11:12 #2
Nu har jeg lavet koden således men får fejl, hvad er det galt. Det skal lige siges at jeg connecter til en MySQL-database...

<table>
<%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If
Set rs = Connection.Execute("Select * From indlaeg Where kategoriid = "& Underkategori("id") &" And tilhoerendetil = 0 And accepteret = 0 Order By dato Desc")
If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 10
    rs.AbsolutePage = intPage
    intRecCount = rs.PageSize
    intPageCount = rs.PageCount
Do While Not rs.EOF And intRecCount > 0
%>
<tr>
<td><%= rs("titel") %></td>
<td><%= rs("dato") %></td>
<% Set Indlaeg = Connection.Execute("Select Count(id) As Antal From indlaeg Where tilhoerendetil = "& rs("id") &"") %>
<td><%= Indlaeg("Antal") %></td>
<% Set Indlaeg = Nothing %>
</tr>
<%
intRecCount = intRecCount - 1
    rs.MoveNext
    Loop
End If
rs.Close
Set rs = Nothing
%>
</table>
<table>
<tr>
<td><% If Clng(intPage) > 1 Then %>Tilbage<% Else %><%End If %></td>
<td><% For intNum = 1 To intPageCount %><%= intNum %><% Next %>1 · 2 · 3</td>
<td><% If Clng(intPage) < Clng(intPageCount) Then %>Frem<% Else %><%End If %></td>
</tr>
</table>
Avatar billede brevkasserne Nybegynder
07. april 2002 - 11:12 #3
Jeg får fejlen:

ADODB.Recordset (0x800A0CB3)
Det aktuelle postsæt understøtter ikke bogmærker. Det kan skyldes en begrænsning af provideren eller af den valgte markørtype.
Avatar billede punnishment Nybegynder
07. april 2002 - 12:07 #4
det er fordi mySQL har en simpler og MEGET bedre funktioner i sig...



<table>
<%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
End If
Set rs = Connection.Execute("Select * From indlaeg Where kategoriid = "& Underkategori("id") &" And tilhoerendetil = 0 And accepteret = 0 Order By dato Desc LIMIT 0,10;") ' den vælger de 10 første recorder
If Not (rs.BOF Or rs.EOF) Then
Do While Not rs.EOF
%>
<tr>
<td><%= rs("titel") %></td>
<td><%= rs("dato") %></td>
<% Set Indlaeg = Connection.Execute("Select Count(id) As Antal From indlaeg Where tilhoerendetil = "& rs("id") &"") %>
<td><%= Indlaeg("Antal") %></td>
<% Set Indlaeg = Nothing %>
</tr>
<%
    rs.MoveNext
    Loop
End If
rs.Close
Set rs = Nothing
%>
</table>
<table>
</table>



LIMIT [start],[antal]
10 næste sider = LIMIT 10, 10

så skal du selv lave beregninger med en SQL sætning for sig, for at lave det der automatisk halløj - det gidder jeg ikke lige at lave
Avatar billede brevkasserne Nybegynder
07. april 2002 - 12:24 #5
jeg har selv fået lavet en

<%
Set objRs = Connection.Execute("SELECT COUNT(*) AS records FROM indlaeg Where kategoriid = "& Underkategori("id") &" And tilhoerendetil = 0 And accepteret = 0 Order By dato Desc")
intRecords = int(objRs("records"))
objRs.Close
Set objRs = Nothing

intPage = Request.QueryString("page")
if intPage = "" OR not isNumeric(intPage) then
    intPage = int(1)
else
    intPage = int(intPage)
end if
intPageSize = int(5)
intStart = intPage*intPageSize
intStart = intStart-intPageSize
intPages = int(intRecords/intPageSize)+1

intValue = (intRecords - intStart)
If intPageSize > intValue Then
intPageSize = intValue
end if

Set objRs = Connection.Execute("SELECT * FROM  indlaeg Where kategoriid = "& Underkategori("id") &" And tilhoerendetil = 0 And accepteret = 0 Order By dato Desc LIMIT " & intStart & ", " & intPageSize & ";")

if objRs.EOF or objRs.BOF then
        Response.Write "Ingen poster"
    else
%>
<% Do until objRs.EOF
%>
                          <tr>
                            <td width="60%" bgcolor="#F0FAFA"><%= objRs("titel") %></td>
                            <td width="30%" bgcolor="#F0FAFA" align="center"><%= objRs("dato") %></td>
<% Set Indlaeg = Connection.Execute("Select Count(id) As Antal From indlaeg Where tilhoerendetil = "& objRs("id") &"") %>
                            <td width="10%" bgcolor="#F0FAFA" align="center"><%= Indlaeg("Antal") %></td>
<% Set Indlaeg = Nothing %>
                          </tr>
<%
objRs.MoveNext
            Loop
end if

objRs.Close
Set objRs = Nothing
%>

men du får 15 point for svaret...
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