Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    170

    Ordinamento e paginazione record

    Ho creato una tabella che mi stampa 10 record e sotto ci sono i link alle altre pagine.
    Ora se voglio ordinare i record con altri criteri (nome) come faccio.

    Ho fatto una query diversa per ogni tipo di ordinamento (nome desc, nome asc) ma non mi mantiene la stessa pagina, tipo sono nella pagina 3 e quando vado a ordinare i record per nome mi prende altre pagine.

    Vi lascio il codice, ma mi basta sapere cosa devo fare a grandi line.

    __________________________________________________ _________________________

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    <%response.Buffer = true%>
    <% if session("autenticato") <> "ok" then
    response.Redirect("icitta.asp")
    end if%>


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    <style type="text/css">
    <!--
    .Stile3 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #FF0000; }
    .Stile6 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #333333; }
    .Stile7 {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    color: #FF0000;
    font-size: 14px;
    }
    -->
    </style>
    </head>

    <body>
    <%'recupero la pagina
    page = Request.QueryString("page")
    if page = "" then
    page = "1"
    end if
    pag = page
    'recupero l'ordine
    ordina = request.QueryString("ordina")
    %>

    <p class="Stile7">Aggiungi Cliente </p>
    <table width="1011" align="left" border="1" bordercolor="#FFFFFF">
    <tr>
    <td width="58" bordercolor="#CCCCCC" bgcolor="#E9EFF5"><div align="left" class="Stile3">N. Cliente +/- </div></td>
    <td width="67" bordercolor="#CCCCCC" bgcolor="#E9EFF5"><div align="left" class="Stile3">Rag. Sociale +/- </div></td>

    <td width="67" bordercolor="#CCCCCC" bgcolor="#E9EFF5"><div align="left" class="Stile3">Attività +/- </div></td>
    <td width="67" bordercolor="#CCCCCC" bgcolor="#E9EFF5"><div align="left" class="Stile3">Quartiere +/- </div></td>

    <td width="70" bordercolor="#CCCCCC" bgcolor="#E9EFF5"><div align="left" class="Stile3">Nome di riferimento </div></td>
    <td width="93" bordercolor="#CCCCCC" bgcolor="#E9EFF5"><div align="left" class="Stile3">Indirizzo</div></td>

    <td width="40" bordercolor="#CCCCCC" bgcolor="#E9EFF5"><div align="left" class="Stile3">Partita iva</div></td>
    <td width="22" bordercolor="#CCCCCC" bgcolor="#E9EFF5"><div align="left" class="Stile3">Tel.</div></td>
    <td width="25" bordercolor="#CCCCCC" bgcolor="#E9EFF5"><div align="left" class="Stile3">Fax.</div></td>
    <td width="35" bordercolor="#CCCCCC" bgcolor="#E9EFF5"><div align="left" class="Stile3">Email </div></td>
    <td width="107" bordercolor="#CCCCCC" bgcolor="#E9EFF5"><div align="left" class="Stile3">Data sottoscrizione </div></td>
    <td width="48" bordercolor="#CCCCCC" bgcolor="#E9EFF5"><div align="left" class="Stile3">Importo</div></td>

    <td width="197" bordercolor="#CCCCCC" bgcolor="#E9EFF5"><div align="left" class="Stile3">Funzioni</div></td>


    </tr>
    <%

    ' imposto il numero di record per pagina
    perpage = 30
    ' inizio interfaccia ciclita da database gestione clienti
    set objrs = server.CreateObject("adodb.recordset")
    'ordinamento record

    if ordina = "nome2" then
    strsql = "select * from tblclients order by clragsoc desc"
    else
    end if
    if ordina = "nome1" then
    strsql = "select * from tblclients order by clragsoc asc"
    else
    end if
    if ordina = "id1" then
    strsql = "select * from tblclients order by clid asc"
    else
    end if
    if ordina = "id2" then
    strsql = "select * from tblclients order by clid desc"
    else
    'strsql = "select * from clienti "
    end if
    if ordina = "att1" then
    strsql = "select * from tblclients order by clattivita desc"
    else
    'strsql = "select * from clienti "
    end if
    if ordina = "att2" then
    strsql = "select * from tblclients order by clattivita asc"
    else
    'strsql = "select * from clienti "
    end if
    if ordina = "qu1" then
    strsql = "select * from tblclients order by clquartiere desc"
    else
    'strsql = "select * from clienti "
    end if
    if ordina = "qu2" then
    strsql = "select * from tblclients order by clattivita asc"
    else
    'strsql = "select * from clienti "
    end if
    if ordina = "" then
    strsql = "select * from tblclients"
    else
    end if

    objrs.open strsql, objconn, adopenstatic, adlockoptimistic
    If page = "" then
    page = (objrs.PageCount)
    End if
    'imposto la dimensione della pagina
    objRs.PageSize = perpage
    ' mi sposto all'ultima pagina
    objRs.AbsolutePage = page
    for i = 1 to perpage
    if not objrs.eof then



    %>
    <tr>
    <td bordercolor="#CCCCCC"><div align="left" class="Stile6"><%=objrs("clid")%></div></td>
    <td bordercolor="#CCCCCC"><div align="left" class="Stile6">"><%=objrs("clragsoc")%></div></td>
    <td bordercolor="#CCCCCC"><div align="left" class="Stile6"><%=objrs("clattivita")%></div></td>
    <td bordercolor="#CCCCCC"><div align="left" class="Stile6"><%=objrs("clquartiere")%></div></td>
    <td bordercolor="#CCCCCC"><div align="left" class="Stile6"><%=objrs("clnomecont")%></div></td>
    <td bordercolor="#CCCCCC"><div align="left" class="Stile6"><%=objrs("clvia")%>, <%=objrs("clcivico")%> <%=objrs("clcitta")%></div></td>
    <td bordercolor="#CCCCCC"><div align="left" class="Stile6"><%=objrs("clpiva")%></div></td>
    <td bordercolor="#CCCCCC"><div align="left" class="Stile6"><%=objrs("cltel1")%></div></td>
    <td bordercolor="#CCCCCC"><div align="left" class="Stile6"><%=objrs("clfax")%></div></td>
    <td bordercolor="#CCCCCC"><div align="left" class="Stile6"><%=objrs("clmail")%></div></td>
    <td bordercolor="#CCCCCC"><div align="left" class="Stile6"><%=objrs("cldatesott")%></div></td>
    <td bordercolor="#CCCCCC"><div align="left" class="Stile6"><%=objrs("clpay")%> &euro; </div></td>

    <td bordercolor="#CCCCCC"><div align="left" class="Stile6">">MODIFICA | " onclick="return confirm('Sei sicuro di voler eliminare il cliente? Guarda che sono 100 euro in meno!');">ELIMINA</div></td>
    </tr>

    <%
    objrs.movenext
    end if
    next
    %> </table>
    <table width="1000" class="Stile6" align="left">
    <tr>
    <td align="center" class="Stile6">
    <%for pag = 1 to objrs.pagecount
    if page = pag then%>
    <%=pag%>
    <%else%>
    <%=pag%>

    <%end if
    Next %>
    </td>
    </tr>
    </table>
    <%
    objrs.close
    set objrs = nothing
    objconn.close
    set objconn = nothing%>



    </p>
    </body>
    </html>
    __________________________________________________ __________________________

    Grazie.
    I migliori teologi delle principali religioni della terra mettono in rete 10.000 supercomputers, caricati con la base di conoscenza umana e pongono la fatidica domanda:
    - Dio esiste? Il mostro dalle 10.000 teste ci ragiona sopra per 7 giorni e poi risponde: "ORA SI!"

  2. #2
    Ti posto un codice che uso io aspetta n'attimo

  3. #3
    Scusa ma con quel codice mi sono confuso.
    Ti consiglio di fare così
    codice:
    <%
    Set Conn=Server.CreateObject("ADODB.Connection")
    strConn = "driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/mdb-database/database.mdb")
    
    'paginazione 
    RecordsPerPagina = 10
    page = Request("page") 
    if page="" then page=1 
    
    orderby = Request.Querystring("orderby")
    if orderby = "" then orderby = "id"
    if orderby = "click" then orderby = " click DESC"
    'qui aggiungi altri if then se ti servono
    
    Conn.Open strConn
    sql = "SELECT * FROM tabella order by " & orderby
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3
    
    If rs.Eof=True or rs.Bof=True then 
      Response.Write "
    
    Nessun risultato trovato</P>" 
    Else 
    rs.PageSize = RecordsPerPagina 
    rs.AbsolutePage = page 
    %>
    Ordina per: nome - 
    click
    
    <%
    Response.Write "
    
    Pagine: " 
    For pag=1 to rs.PageCount 
    Response.Write "<A href='pagina.asp?page=" & pag & "&orderby?=" & orderby
    Response.write "'>" 
    Response.Write pag 
    Response.Write "</A> " 
    Next 
    Response.Write "</P>" 
    
      For i=1 to RecordsPerPagina 
         if Not rs.EOF then 
    %>
    qua macini tutti i dati che hai e te li metti come vuoi
    
    
    <%		
           rs.MoveNext
         end if 
      Next 
    End if 
    %>
      <%
    rs.Close
    set rs = Nothing
    conn.Close
    set conn = Nothing
    %>
    io lo uso egregiamente e funziona
    devi solo adattarlo alle tue esigenze

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.