Var det inte nått i stil med:
[red]IntPages = IntTotalPosts/IntPageSize
If Abs(IntPages) / IntPages > 0 Then IntPages = IntPages + 1[/red]
eller?
7 svar · 260 visningar · startad av lillen_009
Jag håller på med ett pagingscript (om det undgått någon här). Jag ahr ett litet problem när det gäller att räkna ut "antalet nästa sida länkar". Problemet uppstår när Totala antalet poster är jämt delbart med poster per sida.
Följande kodsnutt löser det ENDAST om totala antalet poster = poster per sida. Om totala antalet poster skulle vara det dubbla så uppstår samma fel.
if IntPageSize = intrecords then
intPages = int(intRecords/intPageSize)
else
intPages = int(intRecords/intPageSize)+1
End If
Ex: visar jag 5 poster per sida och det finns 15 totalt, så blir det fel på (5), 10, 15 och resten blir rätt
En lösning är att ta
if IntPageSize/IntPageSize = 'heltal' then
intPages = int(intRecords/intPageSize)
else
intPages = int(intRecords/intPageSize)+1
End If
men hur kan man lösa det med 'heltal'
Var det inte nått i stil med:
[red]IntPages = IntTotalPosts/IntPageSize
If Abs(IntPages) / IntPages > 0 Then IntPages = IntPages + 1[/red]
eller?
tack, men får följande fel:
Körningsfel i Microsoft VBScript (0x800A0006)
Spill
/travel/search2.asp, line 23
Vad innehåller de olika variablerna? Felmeddelandet brukar betyda att något av talen är för stort för variabelns subtyp.
IntPageSize = 2
IntRecords = 4
så det borde inte vara något prblem med det
Kan man använda MOD på något sätt?
Mjo, man borde ju kunna lösa det med mod.
If intTotalPosts mod intPageSize = 0 then intPages = intPages +1
Eller; för att använda kod från ditt originalinlägg:
if intRecords mod IntPageSize = 0 then
intPages = int(intRecords/intPageSize)
else
intPages = int(intRecords/intPageSize)+1
End If
Jag vet inte riktigt om det är så du vill ha det dock...
Mvh
precis så jag ville ha det :birp