Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Cosa manca? (Paginazione, db e absolutepage)

    Ciao, ho fatto questo codice preso un po' da una parte e un po' dall'altra e quindi è un pastone.
    Voglio impaginare i risultati di una query e quindi il codice usato è il seguente:
    l'errore che mi viene dato cliccando ad una pagina successiva alla prima (oppure aprendo una query contenente un numero di records inferiore al PageSize) è:
    ADODB.Field error '80020009'

    Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.


    Ecco il codice


    dim strpagina
    strpagina = Request("pagina")

    SQL = "SELECT * FROM fotoreal WHERE SubCategoria = '" &strChoice & "' ORDER BY Data DESC, clicks"
    Set objRS = Server.CreateObject("ADODB.Recordset")
    objRS.CursorType = adOpenStatic
    objRS.Open sql, objconn ,3,3

    If strpagina = "" then
    strpagina = 1
    End if
    objRS.AbsolutePage = strpagina

    u = 0
    objRS.PageSize = 6
    if u = objRS.PageSize then
    u = 0
    end if

    Do While not objRS.EOF and not u = objRS.PageSize (MI SA CHE SBAGLIO QUI)

    ...Vari response write per la creazione del layout....

    u = u + 1
    objRS.MoveNext
    Loop


    ----- elenco delle pagine ----
    For pag = 1 to objRS.PageCount
    Response.Write "<A href=""menugallery3.asp?choice="
    Response.Write objRS("subcategoria")
    Response.Write "&pagina=" & pag
    Response.Write """>"
    Response.Write pag
    Response.Write "</A>"
    Next

  2. #2
    A occhio sembra che non ti porti dietro la variabile quando cambi pagina.............per controllare fatti stampare la query scrivendo

    response.write(SQL):response.end
    appena dopo la riga della query SQL=.....

    Se è così, cliccando su una pagina successiva alla prima dovresti ottenere

    SQL = "SELECT * FROM fotoreal WHERE SubCategoria = ORDER BY Data DESC, clicks"
    cioè la variabile dovrebbe risultare vuota.

    Per valorizzare la variabile in una pagina successiva alla prima dovresti avere un'istruzione come:

    strChoice = request.querystring("choice")
    oppure
    strChoice = request("choice")
    che prende il dato dalla querystring (vedi istruzione
    Response.Write "<A href=""menugallery3.asp?choice="
    nell'elenco delle pagine.

    Esiste questa istruzione?

    Quanto all'istruzione Do.....while, io di solito scrivo

    Do While not (objRS.EOF OR u = objRS.PageSize)
    che dal punto di vista logico è equivalente alla tua, non so se la tua sintassi è corretta, eventualmente prova quest'altra.........

    Fai sapere.

    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  3. #3
    Ciao, il request("choice") c'è all'inizio della pagina, e poi cliccando me lo becca correttamente. Ho poi provato a scrivere il do...while come hai detto te ma il risultato non cambia.

    Questo è il link in questione, se vuoi dare un'occhiata... la pagesize è fissata a 6.

    http://www.lipqvirtual.com/menugallery3.asp?choice=Jet

  4. #4
    Puoi postare il codice compreso tra le istruzioni do....while e objRS.movenext ?
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  5. #5
    Do while not (objRS.EOF OR u = objRS.PageSize)

    if ciaoao = 2 then
    ciaoao = 0
    Response.Write "</tr><tr>"
    Else
    Response.Write "<td><table align=""center"" class=""bluscuro11arial"" border=""0"" cellspacing=""1"" cellpadding=""0"" width=""238"">"

    Response.Write "<tr bgcolor=""666666""><td width=""100%"" colspan=""3"" class=""bianco11arial""><div align=""center"">"
    Response.Write objRS("NomeFoto")
    Response.Write "</div></td>"

    Response.Write "<tr><td width=""121"" colspan=""2"" class=""bianco11arial""><div align=""left"">"
    Response.Write "<a class=""bluscuro11arial"" href=""javascript:;"""
    Response.Write " onclick=""window.open('gotofotorealM.asp?ID="
    Response.Write objRS("id")
    Response.Write "','','width=640,height=480')"">"
    Response.Write "[img][/img]</a></div></td>"

    Response.Write "<td width=""100%"" bgcolor=""FFFFCC"" class=""grigioscuroverdana11bold"" valign=""top"">"
    Response.Write objRS("data")
    Response.Write "
    <span class=""grigioscuroarial11"">"
    Response.Write objRS("descrizione")
    Response.Write "</span></td></tr>"

    Response.Write "<tr ><td width=""19%"" bgcolor=""999999""><div align=""center"">"
    Response.Write "<a class=""TDlinksreal"" href=""javascript:;"""
    Response.Write " onclick=""window.open('gotofotorealM.asp?ID="
    Response.Write objRS("id")
    Response.Write "','','width=640,height=480')"">"
    Response.Write "Medium</div>"
    Response.Write "</a></td>"

    Response.Write "<td width=""18%"" bgcolor=""999999""><div align=""center"">"
    Response.Write "<a class=""TDlinksreal"" href=""javascript:;"""
    Response.Write " onclick=""window.open('gotofotorealL.asp?ID="
    Response.Write objRS("id")
    Response.Write "','','width=1024,height=768')"">"
    Response.Write "Large</div>"
    Response.Write "</a></td>"
    Response.Write "<td width=""109"" bgcolor=""999999"" class=""biancopiccolo""><div align=""center"">"
    Response.Write objRS("clicks")
    Response.Write " clicks</div>"
    Response.Write "</td></tr>"
    Response.Write "<tr><td colspan=""3"" height=""6""></td></tr>"
    Response.Write "</table></td>"
    ciaoao = ciaoao + 1
    u = u + 1
    objRS.MoveNext
    end if

    Loop
    Response.Write "</tr>"

  6. #6
    Il problema che non capisco è: perchè se assegno ad AbsolutePage un valore numerico anzichè la variabile del For...Next, mi dà errore????
    Se gli do' valore 1 (ovvero pagina 1) ok, ma se gli dò pagina 2 (che esiste realmente) mi dà il solito BOF EOF ecc ecc....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.