Har flera gånger gått igenom artikeln om paging försökt trixa och mixtra och klippa och ha mig för att testa få in det hela i min källkod. Ser att du använder SQL + ett ADO Recordset för att läsa artiklar.Hur programmerar jag in paging funktionen i min källkod.
Får flera fel medd, och till slut gav jag upp. Men så är man där igen försöker men så lyckas man inte. En vän hänvisade mig till pellesoft, så tänkte testa på och se vad för hjälp man kan få.
Oftas lär jag mig efter hur andra förklarar och visar.
Källkoden:
<code>
<%
iNewsId = Request.QueryString("newsid")
If iNewsId="" Then
iNewsId = 1
end if
'Öppnar databasen
Set objDb = Server.CreateObject("ADODB.Connection")
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("jennie.mdb")
objDb.Open strDSN
strSQL = "SELECT newsID, Rubrik, Datum, Map FROM nyheter ORDER BY newsID DESC"
Set objRS = objDb.Execute(strSQL)
If objRS.EOF Then
Response.Write "<A class=content A>ERROR, INGA NYHETER.</a> "
else
dim cstring
cstring = "0"
while not objRS.eof
' Här kan response write modulen sättas in.
if cstring = "4" then
else
' Datum modulen
Dim sMonth
sMonth = Month(objRS(2))
If len(sMonth)=1 then
sMonth = "0" & sMonth
end if
Dim sDay
sDay= Day(objRS(2))
If len(sDay)=1 then
sDay= "0" & sDay
end if
iDatum=Year(objRS(2)) & "-" & sMonth & "-" & sDay
'' modulen slut
' Skriver ut de 4 senaste nyheterna.
Response.Write "<b>» "& iDatum &"</b> | " & objRS.Fields(1) & "<br><br>"
cstring = cstring + 1
end if
objRS.movenext
wend
End If
objRS.Close
Set objRS = Nothing
%>
</code>
// Denna kod listar 4 st nyheter och länkar, det jag önskar är att få bort så att den listar alla nyheter i databasen samt att vid varje 10:e nyhet börjar listningen och länkningen på ny sida. Om ni förstår vad jag menar?'
Tack för all hjälp på förhand
Puss // JennieSv: Hur programmerar jag in paging funktionen i min källkod.
Jag har själv använt följande.
Metoden extraherar sidan lngPage ur ett recordset
Koden nedan kan sakna några variabler då jag har kopierat den ur ett annat sammanhang.
<code>
'#########################################################################
' recset: the recordset to extract
' lngPageSize: the number of records to extract
' lngPage: the page to vire
' Decription: Get the selected page of the recordset.
'#########################################################################
Function GetRstPage(recset, lngPageSize, lngPage)
Dim x 'As Long
Dim fld 'As Field
Dim origPage 'As Long
Dim subRst 'As New ADODB.Recordset
Dim intRow
Dim intStartRow
Dim intEndRow
set subRst = Server.CreateObject("ADOR.Recordset")
With subRst
'If .State = adStateOpen Then .Close
'Create Fields
For Each fld In recset.Fields
.Fields.Append fld.Name, TransLateDatatype(fld.Type), fld.DefinedSize, fld.Attributes
Next
'Add Records
.Open
If lngPage > 0 Then
recset.movefirst
intRow = 1
intStartRow = (lngPageSize * (lngPage - 1)) + 1
intEndRow = (lngPageSize * (lngPage)) + 1
do while not recset.eof
if intRow >= intStartRow and intRow < intEndRow then
.AddNew
For Each fld In recset.Fields
subRst(fld.Name) = fld.Value
Next
.Update
end if
intRow = intRow + 1
recset.MoveNext
loop
End If
End With
Set GetRstPage = subRst
End Function
</code>
Lycka till!
//Håkan