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

    paginazione di tabella quattro colonne

    Scusate a tutti... sto cercando di addentrarmi nel mondo asp..ma ho qualche problema..
    L'argomento è già stato trattato ma proprio non riesco a risolvere..

    Ho una query che funziona. Al momento I records vengono restituiti in quattro colonne e n righe. Vorrei suddividere in più pagine tale risultato. Potreste gentilmente modificarmi il codice che posto in modo da ottenere questo tipo di paginazione?


    scusate ancora e grazie per l'eventuale aiuto..





    <%
    dim dbPath,num_colonne,campo,tabella
    num_colonne=4
    campo="id"
    tabella="Esterno"
    dbPath=server.MapPath("/mdb-database/database2.mdb")
    %>


    <%
    set conn=server.CreateObject("adodb.connection")
    conn.open "provider=microsoft.jet.oledb.4.0;" & "data source=" & dbPath

    set rs=server.CreateObject("adodb.recordset")
    SQL="select " & campo & " from " & tabella & " order by " & campo & " asc"
    rs.open sql,conn,3,3

    dim tot_record,sott
    tot_record=rs.recordcount

    if tot_record mod num_colonne=0 then
    sott=0
    record_per_colonna=int(tot_record/num_colonne)
    else
    sott=1
    record_per_colonna=int(tot_record/num_colonne)+1
    end if

    response.Flush()

    'STAMPO LA TABELLA
    response.write "

    <table cellpadding=""0"" cellspacing=""0"" border=""1"">"


    for i=0 to record_per_colonna-1

    response.write "<tr>"

    'stampo le colonne
    for k=0 to num_colonne-1
    rs.movefirst
    if i+(record_per_colonna*k)>(tot_record-sott) then
    response.Write "<td width=""80""> </td>"
    else
    rs.move(i+(record_per_colonna*k))
    response.write "<td width=""80"">" & rs(0) & "</td>"
    end if
    next

    response.write "</tr>"

    next

    response.write "</table>"

    rs.close: set rs=nothing
    conn.close: set conn=nothing

    %>

  2. #2
    ci sono due proprietà del recordset che devi impostare:
    - PageSize indica quanti record vuoi tirare fuori.
    - AbsolutePage indica la pagina di risultati che vuoi visualizzare.
    Guarda questo esempio : http://www.stardeveloper.com/article...0071001&page=1
    ...NO ONE IS INNOCENT ANYMORE...

  3. #3
    Grazie davvero per il consiglio. Ho provato lo script e la paginazione funziona.
    Tuttavia il mio problema è quello di unire la paginazione contenuta in questo script con una riformulazione dellay out della tabella. cioè mi spiego meglio:

    Questo script restituisce il risultato così:

    | id | nome | cognome | codice |
    |id1 | nome1| cognome1|codice1|
    |id2 | nome2| cognome2|codice2|

    e poi la paginazione ( first page | next page |last page)

    Invece io vorrei

    | id |id3 |id6 |
    |nome |nome3 |nome6 |
    |cognome |cognome3 |cognome6 |
    |codice |codice3 |codice6 |
    ---------- ---------- -----------
    | id1 |id4 |id7 |
    |nome1 |nome4 |nome7 |
    |cognome1|cognome4 |cognome7 |
    ---------- ---------- ----------
    | id2 |id5 |id8 |
    |nome2 |nome5 |nome8 |
    |cognome2|cognome5 |cognome8 |

    piu alla fine la paginazione dello script ( first page | next page |last page)

    grazie ancora per l'eventuale ulteriore aiuto

  4. #4
    dopo che hai impostato la pagesize e la absolutepage del recordset ti puoi comportare allo stesso modo di come fai ora, semplicemente tieni conto che il tuo record iniziale non sarà quello ottenuto col movefirst, ma tramite (absolutepage * pagesize) + 1.
    Non ricordo se le pagine del recordset vengono indicizzate partendo da 0 o da 1.
    ...NO ONE IS INNOCENT ANYMORE...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.