Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371

    Impaginazione recordset

    Salve vorrei impaginare un recordset di dati e allora ho trovato questo sistema
    che funziona benissimo ma ho un piccolo problema visto che il mio recordset
    contiene circa 8000 record mi mostra circa 160 pagine ma gradirei mostrare max 5 con
    il classico sistema di scorrimento...non so se riesco a spiegarvi:
    semplicemente vorrei mostrare (1° pagina)(5 pagine vicene alla attuale)(ultima pag)
    come posso fare??
    ***------------------****
    RecordsPerPagina = 50
    page = Request("page")
    IF page="" then page=1
    ' STRINGA SQL
    strRicerca = Request("ricerca")
    SQL = "SELECT * FROM tabella WHERE id="&id&" order by id"
    'apri recordset con valore 1,3
    RS.Open SQL, Conn, 1,3
    ' paginazione
    rs.PageSize = RecordsPerPagina
    rs.AbsolutePage = page
    If rs.Eof=True or rs.Bof=True then
    Response.Write "

    Nessun risultato trovato</P>"
    Else
    For i=1 to RecordsPerPagina
    IF Not rs.EOF then
    'mostra record
    %><tr><td style="font-size: 8.5px;"><%=RS("id")%></td></tr><%
    rs.MoveNext
    end if
    Next
    End if

    Response.Write "

    Pagine: "
    For pag=1 to rs.PageCount
    Response.Write "<A href='pagina.asp?id="&id&"&page=" & pag
    Response.Write "&ricerca=" & Server.UrlEncode(strRicerca)
    Response.write "'>"
    Response.Write pag
    Response.Write "</A> "
    Next
    Response.Write "</P>"
    %>

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    ho risolto raga scusate ma dopo ore intere mi stavo fondendo con una caxxata è meglio che vado a prende un caffè
    Ciao e grazie di nuovo

  3. #3
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    592

    Re: Impaginazione recordset

    Originariamente inviato da max1974
    Salve vorrei impaginare un recordset di dati e allora ho trovato questo sistema
    che funziona benissimo ma ho un piccolo problema visto che il mio recordset
    contiene circa 8000 record mi mostra circa 160 pagine ma gradirei mostrare max 5 con
    il classico sistema di scorrimento...non so se riesco a spiegarvi:
    semplicemente vorrei mostrare (1° pagina)(5 pagine vicene alla attuale)(ultima pag)
    come posso fare??
    ***------------------****
    RecordsPerPagina = 50
    page = Request("page")
    IF page="" then page=1
    ' STRINGA SQL
    strRicerca = Request("ricerca")
    SQL = "SELECT * FROM tabella WHERE id="&id&" order by id"
    'apri recordset con valore 1,3
    RS.Open SQL, Conn, 1,3
    ' paginazione
    rs.PageSize = RecordsPerPagina
    rs.AbsolutePage = page
    If rs.Eof=True or rs.Bof=True then
    Response.Write "

    Nessun risultato trovato</P>"
    Else
    For i=1 to RecordsPerPagina
    IF Not rs.EOF then
    'mostra record
    %><tr><td style="font-size: 8.5px;"><%=RS("id")%></td></tr><%
    rs.MoveNext
    end if
    Next
    End if

    Response.Write "

    Pagine: "
    For pag=1 to rs.PageCount
    Response.Write "<A href='pagina.asp?id="&id&"&page=" & pag
    Response.Write "&ricerca=" & Server.UrlEncode(strRicerca)
    Response.write "'>"
    Response.Write pag
    Response.Write "</A> "
    Next
    Response.Write "</P>"
    %>
    ciao
    Nei miei programmi di fatturazione ho una tabella con 170000 record circa e utilizzo questo sistema di paginazione che ti vado a spiegare in dettaglio cosi puoi risolvere anche tu

    Nella pagina in fondo ho un campo text che contiene la chiave del record della pagina successiva ...io carico per esempio 20 record di pagina e il campo 21 con la chiave del record successivo più un bottone che se premuto chiama la stessa pagina che però utilizza il record keynext per creare la select mirata per ricaricare la pagina... questo sistema è utile anche perchè se voglio andare alla chiave >= di una prefissata che sta nel db alla posizione 115000 circa, ci va in un istante ...e naturalmente leggo solo i record che mi servono con l'istruzione TOP 21 nella select...cioè 20+1 se la pagina è di 20... mi sono spiegato bene? fammi sapere se vuoi esempi di codice ....
    ciao
    Vic53
    Vic53

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    371
    Grazie per la risposta ho risolto in questo modo e a me sembra abbastanza veloce
    se vuoi puoi provarlo sul mio sito questa pagina contiene 8008 record

    Sito

    Cmq se ho capito bene tu fai la select solo dei campi che ti interessano con keynext e top che cio dovrebbe rendere l'utilizzo piu veloce....
    postami qualche piccolo esempio se non ti scomoda potrei trovarmi in condizioni peggiori e doverlo utilizzare o decidere di cambiarlo.

    Grazie di nuovo

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.