Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


GetRows() + paging [löst]

Postades av 2002-10-29 09:04:54 - Martin Söderlund, i forum asp - allmänt, Tråden har 4 Kommentarer och lästs av 387 personer

Denna kod för paging tillsammans med GetRows() fungerar bra tills det är ett jämnt antal
inlägg (20,30,40,50 etc, inte 10!) som ska visas. Först visar pagingen 1 2 3 eller vad det nu
kan vara för siffror beroende på hur många aktuella poster som finns. Men om det finns 20, 30, 40
poster etc. så visas det 1 2 3 för 20 inlägg och när man kommer till den tredje sidan så
finns det inga svar där än.

Felet ligger i sftPageCount = (sftRs.Recordcount \ sftRs.Pagesize) + 1 men den koden måste
jag ha för att paging för över 10 poster men under 20 poster ska visas..

Hur fixar jag detta? Oerhört tacksam.. Dessutom får ju du en liten hint om hur man använder
paging och GetRows() tillsammans :)



<% 'Detta kodstycket är en fortsättning på listningen av alla poster i en specifik tråd
Dim sftCn, sftRs, sftstrSQL, viewPage, sftRowCount, sftPageCounter, arrRecs, ifo, f(8)
viewPage = Request.Querystring("viewPage")
If viewPage="" Then viewPage=1
sftRowcount=0

Set sftCn = Server.CreateObject("ADODB.Connection")
sftCn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("forum/db_forum.mdb") & ";pwd=" & Password & ";"

Set sftRs = sftCn.Execute("Select * From tbl_answers Where TopicId=" & Request.Querystring("id") & " Order By Date")

With sftRs
.Close
.Cursortype=3
.Open
.Pagesize=10
End With

If sftRs.EOF And Forum_NoId="No" Then Response.Write ""

If sftRs.EOF And Not Forum_NoId="No" Then
Response.Write "Inga svar än.. Skriv svar nedan."
Else sftRs.Absolutepage=cInt(viewPage)
End if

If Not sftRs.EOF And Not Forum_NoId="No" Then
Dim sftAntal, sftPageCount, sftPz
sftAntal = sftRs.Recordcount
sftPageCount = (sftRs.Recordcount \ sftRs.Pagesize) + 1
sftPz = sftRs.Pagesize

arrRecs = sftRs.GetRows(sftPz)
sftRs.Close : Set sftRs = Nothing
sftCn.Close : Set sftCn = Nothing

If IsArray(arrRecs) Then
For ifo = 0 To UBound(arrRecs,2) And sftRowcount < sftPz
f(0) = arrRecs(0,ifo)
f(1)= arrRecs(1,ifo)
f(2)= arrRecs(2,ifo)
f(3)= arrRecs(3,ifo)
f(4)= arrRecs(4,ifo)
f(5) = arrRecs(5,ifo)
f(6) = arrRecs(6,ifo)
f(7) = arrRecs(7,ifo) %>

<a name="#<%=f(0)%>"></a><table><tr bgcolor="<%=Border%>"><td width="528">
<table cellpadding="6" cellspacing="0" border="0"><tr><td bgcolor="<%=stCell%>">
<table cellpadding="0" cellspacing="0" border="0"><tr><td width="460"><span class="minirubrik"><%=f(5)%></span></td>
<td>Redigera</td></tr></td></tr></table>
</td></tr><tr><td bgcolor="<%=stCell2%>"><%=fixmylinks(Replace(f(6),vbCrLf,"<br>"))%><p>
<% If Len(f(3))>0 Then %><% End If %><%=f(2)%><% If Len(f(3))>0 Then %><% End If %>
| <%=Left(f(7),16)%> | <span class="minirubrik">Id:</span> <%=f(0)%></td></tr></table></td></tr></table><p>
<% sftRowcount = sftRowcount + 1
Next
End If
End If
If sftAntal > sftPz Then
For sftPagecounter = 1 to sftPageCount %>
&viewpage=<%=sftPagecounter%>"><%=sftPageCounter%>
<% Next
If Len(Request.Querystring("viewpage"))>0 Then %> | Du är på sida <span class="minitext"><%=Request.Querystring("viewpage")%></span><% End If
End If %>


Svara

Sv: GetRows() + paging [ej löst]

Postades av 2002-10-30 11:59:36 - Martin Söderlund

Ingen som vet än? Det fungerar heller inget vidare att ta bort +1 i räkningen av pagingen..


Svara

Sv: GetRows() + paging [ej löst]

Postades av 2002-10-30 14:21:42 - Andreas Hillqvist

Du kan ju prova:
<code>
<%
Dim sftCn
Dim sftRs
Dim sftstrSQL
Dim viewPage
Dim sftRowCount
Dim sftPageCounter
Dim arrRecs
Dim ifo
Dim f(8)
Dim sftAntal
Dim sftPageCount
Const sftPageSize = 10

Set sftCn = Server.CreateObject("ADODB.Connection")
sftCn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("forum/db_forum.mdb") & ";pwd=" & Password & ";"

Set sftCn = Server.CreateObject("ADODB.Recordset")
sftRs.PageSize = sftPageSize
sftRs.CursorLocation = 3 'adUseClient

sftRs.Open "SELECT * FROM tbl_answers WHERE tbl_answers.TopicId=" & Request.Querystring("id") & " ORDER BY tbl_answers.[Date]", sftCn

If sftRs.EOF Then
If Forum_NoId <> "No" Then
Response.Write "Inga svar än.. Skriv svar nedan."
End If
Else
sftAntal = sftRs.Recordcount
sftRowcount=0
sftPageCount = ((sftRs.Recordcount - 1) \ sftPageSize) + 1

viewPage = Request.Querystring("viewPage")
If IsNumeric(viewPage) Then
viewPage = CDbl(viewPage)
Else
viewPage = 1
End If

sftRs.Absolutepage = cInt(viewPage)
arrRecs = sftRs.GetRows(sftPageSize)

sftRs.Close
Set sftRs = Nothing

sftCn.Close
Set sftCn = Nothing

If IsArray(arrRecs) Then
For ifo = 0 To UBound(arrRecs, 2)
f(0) = arrRecs(0,ifo)
f(1)= arrRecs(1,ifo)
f(2)= arrRecs(2,ifo)
f(3)= arrRecs(3,ifo)
f(4)= arrRecs(4,ifo)
f(5) = arrRecs(5,ifo)
f(6) = arrRecs(6,ifo)
f(7) = arrRecs(7,ifo)
%>
<a name="#<%=f(0)%>"></a>
<table>
<tr bgcolor="<%=Border%>">
<td width="528">
<table cellpadding="6" cellspacing="0" border="0">
<tr>
<td bgcolor="<%=stCell%>">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td width="460"><span class="minirubrik"><%=f(5)%></span></td>
<td>Redigera</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="<%=stCell2%>"><%=fixmylinks(Replace(f(6),vbCrLf,"<br>"))%>
<p><%If Len(f(3))>0 Then Response.Write "" & f(2) & "" %> | <%=Left(f(7),16)%> | <span class="minirubrik">Id:</span> <%=f(0)%>
</td>
</tr>
</table>
</td>
</tr>
</table><p><%
sftRowcount = sftRowcount + 1
Next
End If
End If

If sftAntal > sftPageCount Then
For sftPagecounter = 1 to sftPageCount
%>&viewpage=<%=sftPagecounter%>"><%=sftPageCounter%><%
Next
%> | Du är på sida <span class="minitext"><%=viewPage%></span><%
End If
%>
</code>


Svara

Sv: GetRows() + paging [ej löst]

Postades av 2002-10-31 09:31:22 - Martin Söderlund

Underbart.. Tack Andreas!


Svara

Sv: GetRows() + paging [ej löst]

Postades av 2002-10-31 10:28:49 - Andreas Hillqvist

Kanske dax att ändra "Ej löst" till "Löst"?


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 812
27 960
271 761
512
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies