men jag tycker det är konstigt att det bara kommer fram en etta, borde väll komma fram typ 1 2 3 4 osv?
problem med pageing system
39 svar · 1 555 visningar · startad av Vinnaren · sida 2 av 2
Beroende på hur många poster som finns så kommer det ju fram olika. Avrundningen kan ju ske lite udda med, tänk på det ;) Vet inte om det finns en funktion för att avrunda allt uppåt oavsett vad om det blir 1.2 eller 1.7.
mjo, men det finns över 700 poster, borde ju bli fler än 1 sida
Round((TotaltAntalPoster/PosterPerSida)+0.4) Kan man ju göra för att förhoppningsvis alltid hamna på rätt sida.
mjo, men får fortfarande bara fram en etta :r
Tidigare || 1 || Nästa
märkte nu att variablen TotaltAntalPoster är tom :r :i
gött, tack, nu funkar den (y)
en liten bugg bara, det ska vara 15 sidor, den 16 är tom, och den 15 sidan innehåller bara 15 rader, måste ju gå att lösa?
Smart ;) Har du bytt tabellnamn där än eller? ;)
/R - fel av mig. Jag tror inte det går att fixa. Det är en bugg med mySQL har jag för mig. Vänner har haft samma problem.
haha, jo, det hade jag gjort, la dock inte märke till att det stog ID innom () i sql satsen :bla
men nu är problemet den sista sidan (y)
den är tom, inte så fint kanske, men borde ju gå att lösa?
ok, den går efter antalet poster?
index.asp?do=players&sida=750
kan man inte på nott sätt göra så den går typ
index.asp?do=players&sida=1
till
index.asp?do=players&sida=15
??
Jodå, det kan man nog göra.
Fast då multiplicerar du och meckar istället för dividerar och liknande ;)
Varsågod! Glöm bara inte att markera ett inlägg som slutgiltligt svar :)
ett sista problem :bire
har nu denna kod:
strCount = "SELECT Count(playID) As AntalPoster FROM spelare WHERE playAktiv = 1 "
strSQL="SELECT spelare.playID, spelare.lagID, spelare.landID AS spelare_landID, spelare.playFnamn, spelare.playEnamn, spelare.playFodd, spelare.playFodelseort, spelare.playPosition, spelare.playSkott, spelare.playAktiv, land.landID AS land_landID, land.land, land.flagga, klubbar.lagNamn FROM land INNER JOIN spelare ON land.landID = spelare.landID LEFT JOIN klubbar ON spelare.lagID = klubbar.lagID WHERE playAktiv = 1 ORDER BY "&order_spelare&" LIMIT "& min & "," & max&""
SET rsCount = Server.CreateObject("ADODB.RecordSet")
With rsCount
.ActiveConnection = objConn
.Source = strCount
.Open
End With
TotaltAntalPoster = cInt(rsCount("AntalPoster"))
rsCount.Close
SET rsCount = Nothing
PosterPerSida = 50
AktuellPlats = cInt(Request.QueryString("sida"))
AktuellSida = Round(AktuellPlats/PosterPerSida)
IF Request.QueryString("sida") = "" Then
AktuellPlats = 0
AktuellSida = 0
End IF
TotaltAntalSidor = Round((TotaltAntalPoster/PosterPerSida))
min = AktuellPlats
max = aktuellplats + PosterPerSida
With objRS
.ActiveConnection = objConn
.Source = strSQL
.Open
End With
nu vill jag köra bägge frågor, men det är bara sql frågan (count) som körs, inga poster loopas ut mer än sidnavigeringen.
Vad kan jag ha gjort för fel? :r
ingen som vet vad det kan vara för fel? :q
SQL-frågan använder variablerna min och max långt innan de har värden.
ok, då vart det inte lätt, trode det gick att göra det enkelt, så man slapp koda samma kod på flera ställen på sidan då det bara är sql frågan som e olika. Eller går det på nott sätt? Tänkte bara ha en if-sats runt sql frågorna, men det e väll för smidigt :r
Man kan ju fuska lite...
strSQL="SELECT ... ORDER BY "&order_spelare&" LIMIT {{min}},{{max}}"
...
min = AktuellPlats
max = aktuellplats + PosterPerSida
strSQL = replace(strSQL, "{{min}}", min)
strSQL = replace(strSQL, "{{max}}", max)
Du får förresten sluta med att lägga till tomma strängar sist på saker och ting. Bort med &"" alltså.
tack, men löste det med:
With objRS
.ActiveConnection = objConn
.Source = strSQL&" LIMIT "& min & "," & max
.Open
End With
(y)