QimenMedlem sedan juni 20015 009 inlägg Hej
Har fått problem med ett paging script som inte vill funka numera då jag använder mysql istället för access.
<%
sida = TRIM( Request( "sida" ) )
If sida = "" Then sida = 1
RecSet.PageSize = 10
RecSet.AbsolutePage = sida
Do until RecSet.EOF OR rowCount = RecSet.PageSize
rowCount = rowCount + 1
color = color+1
If color mod 2 = 0 then
bgcolor="#ffffff"
Else
bgcolor="#cccccc"
End If
%>
och sedan för sidnumreringen:
<%
If RecSet.PageCount > 1 Then
For a = 1 to RecSet.PageCount
If a <> cINT( sida ) Then
Response.Write "<a href='medlemmar.asp?sida="& a &"'>"& a &"</a>"
Else
Response.Write "<b>"&a&"</b>"
End If
Next
End If
Jag tror problemmet ligger vid RecSet.AbsolutePage = sida
Hur kan jag lösa detta?
SebbeMedlem sedan jan. 20032 285 inlägg sida = Trim(Request.QueryString("sida"))
sida = CInt(sida)
Det kanske gör något? :)
QimenMedlem sedan juni 20015 009 inlägg Var ska jag lägga in den/ersätta med?
SebbeMedlem sedan jan. 20032 285 inlägg Ersätt
sida = TRIM( Request( "sida" ) )
med det. :)
QimenMedlem sedan juni 20015 009 inlägg hmm :l
Inkompatibla typer: 'CInt'
SebbeMedlem sedan jan. 20032 285 inlägg Det här då?
sida = Trim(Request.QueryString("sida"))
If IsNumeric(sida) Then
sida = CInt(sida)
Else
sida = 1
End If
QimenMedlem sedan juni 20015 009 inlägg Hmmm men alltså problemmet kvarstår ju vid:
RecSet.AbsolutePage = sida
Där den får problem.
Objektet eller providern kan inte utföra den begärda åtgärden.
SebbeMedlem sedan jan. 20032 285 inlägg Hur öppnar du ditt recordset?
QimenMedlem sedan juni 20015 009 inlägg RecSet.Open SQL, Connect, 3,3 ?
SebbeMedlem sedan jan. 20032 285 inlägg Jag tror nog att det går bättre med
RecSet.Open SQL, Connect, 1, 3
:)
QimenMedlem sedan juni 20015 009 inlägg hmm nu får jag inget fel, och dem visar så många som jag ställt in men jag får inte upp sidnumreringen?
SebbeMedlem sedan jan. 20032 285 inlägg Kör med
sida = TRIM( Request( "sida" ) )
If sida = "" Then sida = 1
istället för min kod, så ska det nog gå bra. :)
LarsGMedlem sedan dec. 200012 464 inlägg recset.cursorLocation = 3 ' adUseClient
RecSet.Open SQL, Connect, 3,3
QimenMedlem sedan juni 20015 009 inlägg
LarsG skrev:
recset.cursorLocation = 3 ' adUseClient
RecSet.Open SQL, Connect, 3,3
--> Dataprovidern eller annan tjänst returnerade en E_FAIL-status.
/spel/secure/medlemmar.asp, line 120
rad 120:
If RecSet.PageCount > 1 Then
LarsGMedlem sedan dec. 200012 464 inlägg Jaha, då vet jag inte. har aldrig set det meddelandet förut.
Kan du inte skriva om alltihop med hjälp av limit?
QimenMedlem sedan juni 20015 009 inlägg Ajdå:OO :r
Vet inte hur jag ska skriva om det då.
mikulMedlem sedan aug. 20013 824 inlägg .AbsolutPage funkar väll inte äns mot MySQL, eller har jag fel?
Använd SQL-funktionen limit. ;)
mikulMedlem sedan aug. 20013 824 inlägg Detta borde funka ganska bra...
postPerSida = 10
if not Isnumeric(request.querystring("page")) Or request.querystring("page") = "" Then
sida = 1
else
sida = cInt(request.querystring("page"))
end if
set connect = server.createObject("ADODB.Connection")
connect.open "Driver=MySql;server=***;user=***;pwd=***;database=***"
Query = "Select * From tbl limit " & (sida - 1) * postpersida & ", " & postpersida
set rs = connect.execute(query)
while not rs.eof
response.write rs("fld") & "<br>"
rs.movenext
wend
set rs = connect.execute("Select Count(*) from tbl")
antalposter = rs(0)
rs.close : set rs = nothing
response.write "<br>"
For i = 1 to cint(antalposter-posterpersida) step posterpersida
if not i = sida Then
response.write "<a href=""?page=" & i & """>" & i & "</a> "
else
response.write " [" & i & "] "
end if
next
PatrikBMedlem sedan mars 20002 836 inlägg Jo då, AbsolutePage, PageCount, RecordCount borde funka med .CursorLocation = 3 (dvs ett client-side recordset) mot MySQL.
Har du provat att lägga .AbsolutePage efter att du öppnat recordsetet?
Limit paging blir segare och segare ju fler poster som finns i databasen och ju längre "bort i pagingen" man kommer.
cya,
PatrikB
PatrikBMedlem sedan mars 20002 836 inlägg En annan sak. Vilken provider används? MyODBC eller MySQL Provider?
cya,
PatrikB