webForumDet fria alternativet

problem med ett pagingscript

6 svar · 167 visningar · startad av Method

MethodMedlem sedan apr. 2001357 inlägg
#1

kolla på denna adress http://www1.bengtdahlgren.se/kontakt/kontaktpers.asp?Kontor=Stockholm

där kör jag ett pagingscript där den hämtar fyra poster ur databasen, men på kontaktpersoner i Stockholm där har jag bara fyra poster men ändå säger den att det är på 2 sidor. jag kör med patrik B pagingscript.

tack på förhand

Jonas

------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd

PatrikBMedlem sedan mars 20002 836 inlägg
#2

Jepp,
det e alldeles riktigt.

Det är en bugg =( fast det finns en bugfix =)

Byt ut funktionen countPages till denna:

## -------------------------------------------------------------
'## -- räkna ut hur många sidor som ska visas --
'## -- updated: July 14, 2001
'## -- update by: Patrik Berggren, mrwize@mrwize.nu
'## -------------------------------------------------------------
'##
'## -- vid vissa tillfällen returnerades fel sidantal.
'## Felet/Buggen berodde på avrundningen med CInt()
'## och CLng().
'## -- Avrundningen som jag gjorde:
'##
'## m_intTotalPages = CInt((HowManyRecords / PageSize) + 0.5)
'##
'## vart i vissa fall fel och sid antalet vart fler än 
'## vad det egentligen skulle vara.
'## Lösningen, hoppas jag, är att kolla hur stor resten
'## blir vid avrundning.
'## Om resten är större än 0 eller mindre än 0.5 så ska en sida
'## läggas till.
'## I annat fall så gäller avrundningen.
'## Har testat flera olika kombinationer med olika records antal
'## och sidstorlekar och ej hittat några buggar.
'## Så nu hoppas jag att denna paging är buggfri *ler*
'## -------------------------------------------------------------
Function countPages(ByVal HowManyRecords, ByVal PageSize)
Dim m_intTotalPages, m_intRest

m_intTotalPages = HowManyRecords / PageSize

If m_intTotalPages < 1 Then
m_intTotalPages = 1
Else
m_intRest = m_intTotalPages - CLng(m_intTotalPages)

If m_intRest > 0 AND m_intRest < 0.5 Then
m_intTotalPages = CLng(m_intTotalPages) + 1
Else
m_intTotalPages = CLng(m_intTotalPages)
End If
End If

'## -- return how many pages --
countPages = m_intTotalPages
End Function

cya,
PatrikB

------------------
*så kan det gå när inte haspen är på*

LukaspojkenMedlem sedan maj 20011 312 inlägg
#3

Det skulle vara bra att få se lite kod för du måste ju ha ändrat något i Patriks-script för den fungerar ju helt utmärkt.

Det jag kunde bara se nu vara att "kontor" i reguest.string stod med liten bokstav. Jag vet inte om det kan påverka.

------------------
Alltid lär man sig något nytt varje dag...

MethodMedlem sedan apr. 2001357 inlägg
#4

tack för inlägget lukaspojken men som du ser har Patrik redan gett en kod och svarat på varför det inte fungerade ;)

läs gärna tidigare inlägg :)

plus att nu funkar det.....

------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd

[Redigerat av Method den 07 aug 2001]

HarbackMedlem sedan juni 2001206 inlägg
#5

Kolla tiderna för inläggen....han höll nog på att skriva när PatrikB postade sitt inlägg ;)

------------------
MVH
Harback

[Redigerat av Harback den 07 aug 2001]

MethodMedlem sedan apr. 2001357 inlägg
#6

;)

------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd

LukaspojkenMedlem sedan maj 20011 312 inlägg
#7

Klart jag inte svarar om jag vet att Patrik svarar med ett sådant inlägg...:)

------------------
Alltid lär man sig något nytt varje dag...

[Redigerat av Lukaspojken den 07 aug 2001]

127 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)