Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20

Discussione: Divisione delle pagine

  1. #1

    Divisione delle pagine

    Ho una pagina "usaro.asp" che mi visualizza il contenuto di una tabella.

    Per rendere più agevole la lettura ho inserito il codice per la divisione in pagine del recordeset.

    Questo è il codice.

    'recupero la pagina
    page = Request.QueryString("page")
    ' imposto il numero di record per pagina
    perpage = 8

    If page = "" then
    page = (rs.PageCount)
    End if

    'imposto la dimensione della pagina
    Rs.PageSize = perpage
    ' mi sposto all'ultima pagina
    Rs.AbsolutePage = page
    ..................
    For i = 1 to perpage
    If Not Rs.EOF then
    codice per visualizzare i record
    Rs.MoveNext
    end if
    next
    ..................

    Response.Write "

    Pagine: "

    For pag= 1 to rs.PageCount
    if page = pag then
    'grassetto per la pagina corrente
    Response.Write ""
    Response.Write "<A href='usato.asp?page=" & pag
    Response.write "'>"
    Response.Write pag
    Response.Write "</A> "
    Response.Write "
    "
    else
    'normale per le altre pagine
    Response.Write "<A href='usato.asp?page=" & pag
    Response.write "'>"
    Response.Write pag
    Response.Write "</A> "
    end if
    Next

    Response.Write "</P>"

    Cosi facendo se visualizzo tutta la tabella nn ci sono problemi, mi suddivide il recordset in 8 per pagina e sotto me le numera.

    Il problema nasce quando utilizzo lo stesso codice per una ricerca.

    Eseguo una query di ricerca, e quando la vado a vedere, vedo perfettamente la prima e mi elenca le pagine di cui è composto il recordset, però quando clicco sulla pagina due o tre ecc... che sia, non mi visualizza più e record e mi dice che è vuoto


    Per quale motivo visualizzando TUTTO il contenuto non ci sono problemi se mi metto una query mi visualizza correttamente la prima pagine e il numero preciso della pagine, ma se clicco su una pagina successiva non mi restituisce i record????

    Ciao e grazieeeeeeeee

  2. #2
    oddio se ci pensi su mi pare anche logico che se clicchi su pagina 2, ho ti porti dietro pure le chiavi di ricerca che hai cercato oppure lui come fa a ricostruire la query di ricerca e darti la pagina 2 dei risultati?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3

    Cavoli

    Cavoli ma mi funziona!!!!

    Facciamo cosi, hai un link da darmi per scaricare un altro esempio cosi me lo studio e lo adatto, vediamo se riesco a risolvere il problema

    Fammi sapere

  4. #4
    magari ti funziona alla pagina 1, ma non alla pagina 2-3-4..etc


    EDITrova a cercare "paginazione" sul forum
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5

    Si

    Originariamente inviato da Santino83_02
    magari ti funziona alla pagina 1, ma non alla pagina 2-3-4..etc


    EDITrova a cercare "paginazione" sul forum
    Si esatto proprio cosi, la prima funziona, ma le altre non mi funzionano

  6. #6
    ma quando fai una ricerca usi il metodo filter sul recordset???? se è così allora è normale....mentre potresti fare una cosa.....quando fai una ricerca rispari una nuova query (concatenando bene le condizioni) e così hai una query a se stante che puoi paginare tranquillamente......

  7. #7

    Eccola

    Questo è il recordset


    Set MyConn=Server.CreateObject("ADODB.Connection")
    MyConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/Documenti.mdb")

    Set Rs = Server.CreateObject("ADODB.Recordset")

    dim stringaSQL
    stringaSQL = "SELECT * FROM News "
    stringaSQL = stringaSQL + "WHERE Marchio like '" & strMarchio & "%' "
    stringaSQL = stringaSQL + "AND Modello like '" & strModello & "%' "
    stringaSQL = stringaSQL + "AND Anno like '" & strAnno & "%' "
    if strCarrozzeria <> "0" then stringaSQL = stringaSQL + "AND Carrozzeria = '" & strCarrozzeria & "' "
    if strKm <> "0" then stringaSQL = stringaSQL + "AND (Km BETWEEN " & Kmmin & " AND " & Kmmax & ")"
    if strCilindrata <> "0" then stringaSQL = stringaSQL + "AND Cilindrata = '" & strCilindrata & "' "
    if strAlimentazione <> "0" then stringaSQL = stringaSQL + "AND Alimentazione = '" & strAlimentazione & "' "
    if strPrezzo <> "0" then stringaSQL = stringaSQL + "AND (Prezzo BETWEEN " & Prezzomin & " AND " & Prezzomax & ")"
    if strConcessionaria <> "0" then stringaSQL = stringaSQL + "AND Concessionaria = '" & strConcessionaria & "' "


    Rs.Open stringaSQL, MyConn , 3,3

  8. #8
    quando clicca sul pulsante 2 non gli mandi nella nuova pagina le chiavi di ricerca per rifare la query (quelle che, in pratica, la prima intercetta dal form di ricerca)...

    ti ho parlato in arabo e devo spiegare oppure hai capito?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  9. #9

    Arabo

    Originariamente inviato da Santino83_02
    quando clicca sul pulsante 2 non gli mandi nella nuova pagina le chiavi di ricerca per rifare la query (quelle che, in pratica, la prima intercetta dal form di ricerca)...

    ti ho parlato in arabo e devo spiegare oppure hai capito?
    Arabo

    Ce la fai a farmi due righe cosi le provo

    Ti riscrivo il codice

    'recupero la pagina
    page = Request.QueryString("page")
    ' imposto il numero di record per pagina
    perpage = 8


    Set MyConn=Server.CreateObject("ADODB.Connection")
    MyConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/Documenti.mdb")

    Set Rs = Server.CreateObject("ADODB.Recordset")

    dim stringaSQL
    stringaSQL = "SELECT * FROM News "
    stringaSQL = stringaSQL + "WHERE Marchio like '" & strMarchio & "%' "
    stringaSQL = stringaSQL + "AND Modello like '" & strModello & "%' "
    stringaSQL = stringaSQL + "AND Anno like '" & strAnno & "%' "
    if strCarrozzeria <> "0" then stringaSQL = stringaSQL + "AND Carrozzeria = '" & strCarrozzeria & "' "
    if strKm <> "0" then stringaSQL = stringaSQL + "AND (Km BETWEEN " & Kmmin & " AND " & Kmmax & ")"
    if strCilindrata <> "0" then stringaSQL = stringaSQL + "AND Cilindrata = '" & strCilindrata & "' "
    if strAlimentazione <> "0" then stringaSQL = stringaSQL + "AND Alimentazione = '" & strAlimentazione & "' "
    if strPrezzo <> "0" then stringaSQL = stringaSQL + "AND (Prezzo BETWEEN " & Prezzomin & " AND " & Prezzomax & ")"
    if strConcessionaria <> "0" then stringaSQL = stringaSQL + "AND Concessionaria = '" & strConcessionaria & "' "


    Rs.Open stringaSQL, MyConn , 3,3


    If page = "" then
    page = (rs.PageCount)
    End if

    'imposto la dimensione della pagina
    Rs.PageSize = perpage
    ' mi sposto all'ultima pagina
    Rs.AbsolutePage = page
    ..................
    For i = 1 to perpage
    If Not Rs.EOF then
    codice per visualizzare i record
    Rs.MoveNext
    end if
    next
    ..................

    Response.Write "

    Pagine: "

    For pag= 1 to rs.PageCount
    if page = pag then
    'grassetto per la pagina corrente
    Response.Write ""
    Response.Write "<A href='usato.asp?page=" & pag
    Response.write "'>"
    Response.Write pag
    Response.Write "</A> "
    Response.Write "
    "
    else
    'normale per le altre pagine
    Response.Write "<A href='usato.asp?page=" & pag
    Response.write "'>"
    Response.Write pag
    Response.Write "</A> "
    end if
    Next

    Response.Write "</P>"


    Fammi sapere

    Ciao e grazieeeeee

  10. #10
    codice:
    Response.Write "<A href='usato.asp?page=" & pag & "&prezzo=" & strPrezzo & "&marchio=" & strmarchio & "&.....etc etc"
    e poi nella pagina invece di usare i request.form per ricavare i campi del modulo di ricerca usi i request generici...


    ora, io ho scritto "prezzo=", "marchio=", ma tu devi mettere i nomi identici a quelli che hai messo nel form di ricerca
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.