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

    paginare risultati con colonne

    ciao a tutti,
    vorrei ottenere la paginazione stampando i record su due o tre colonne.

    attualmente uso questo codice per ottenere la visualizzazione su 2 colonne
    ma vorrei che si aggiungesse la possibilità di navigare tra pagine quando si raggiungono, p. es., 10 righe

    codice:
    <%@LANGUAGE = VBScript%>
    <%
        ' DEFINISCO LE VARIABILI CHE MI SERVONO PER L'APPLICAZIONE
        Dim sc, cn, rs, contatore
    
        ' DEFINISCO LA STRINGA DI CONNESSIONE
        sc = ""
        sc = sc & "driver={Microsoft Access Driver (*.mdb)};dbq="
        sc = sc & Server.MapPath("database.mdb")
    
        ' IMPOSTO LA CONNESSIONE EDIL RECORDSET
        Set cn = Server.CreateObject("ADODB.Connection")
        Set rs = Server.CreateObject("ADODB.Recordset")
    
        ' APRO LA CONNESSIONE COL DATABASE
        cn.Open sc
    %>
    
    <html>
    <head>
    <title>Paginazione a colonne sui record di un db in ASP</title>
    </head>
    <body>
    
    <table border="1"><tr>
    <%
        ' IMPOSTO A 0 IL CONTATORE
        contatore = 0
        ' APRO IL RECORDSET
        rs.Open "SELECT * FROM prodotti ORDER BY nome ASC", cn, 1
        ' ESEGUO IL CICLO
        While rs.EOF = False
            ' IMPOSTO LA PAGINAZIONE A 2 COLONNE ED N RIGHE
            ' IN FUNZIONE DEL NUMERO DI RECORD PRESENTI NEL DB
            If contatore = 2 Then
                contatore = 0
                Response.Write "</tr><tr>"
            End If
    %>
        <td><%=rs("nome")%></td>
    <%
            rs.MoveNext
            ' INCREMENTO IL VALORE DEL CONTATORE
            contatore = contatore + 1
        Wend
        rs.Close
    %>
    </tr></table>
    
    </body>
    </html>
    <%
        ' UN PO DI PULIZIA...
        Set rs = Nothing
        cn.Close
        Set cn = Nothing
    %>
    come posso fare, non riesco a trovare il termine giusto per una ricerca sulla rete.

    grazie,
    ---------------------------
    danielix05

  2. #2
    ciao, prova a dare un occhiata qui (Asp101) per la paginazione.

    In particolare devi impostare :
    codice:
    rs.Open "SELECT * FROM prodotti ORDER BY nome ASC", cn, 3, 3
    rs.PageSize = 10 ' numero di record per pagina
    rs.AbsolutePage = Request.QueryString("pagina") ' pagina da visualizzare
    ....
    Per il menu di navigazione prova a consultare l'esempio accennato sopra.

    Ciau!
    - Dean

  3. #3
    CIAO ATARI
    scusa il mio ritardo,

    ma io ho in corso una stampa dei risultati su 4 colonne, vale a dire che in ogni riga appaiono 4 prodotti come puoi vedere da qui

    come posso paginare?

    sono incasinatissimo mi puoi dare una mano?

    grz, daniele.
    ---------------------------
    danielix05

  4. #4
    il fatto di mostrare i risultati in quattro colonne o di visualizzarli in un altro modo non cambia la situazione. Quello di cui hai bisogno è di filtrare i risultati... paginandoli (vedi due messaggi sopra).

    Ciau!
    - Dean

  5. #5
    ciao atari,
    come vedi ancora adesso cerco di capire ma nn mi viene.

    non sono proprio nella logica, sto cercando di vedere un sacco di cose sulla rete ma niente mi fa intuire come muovermi.

    lo script che ho io non serve proprio a niente?

    mi puoi passare un esempio ? sarebbe il un ottimo regalo per natale 2007, grz e b notte.
    ---------------------------
    danielix05

  6. #6
    ciao, il tuo script va bene, lo devi semplicemente adattare. Un buon esempio (cioè, o meglio, ci son cresciuto con quello :P) te l'ho fornito (vedi quattro messaggi sopra )

    Ciau!
    - Dean

  7. #7

    AIUTOOO

    CIAO DEAN,
    ecco la situazione in cui sono ora, come vedi da questa pagina
    1. ho i prodotti
    2. ho la barra di navigazione.

    ora:

    1a. i prodotti li posso colonnare ma non si paginano. manca qualche counter? ma quale?

    dammi una mano....

    come vedi io mi impegno

    codice:
    <%@LANGUAGE = VBScript%>
    <%
        ' DEFINISCO LE VARIABILI CHE MI SERVONO PER L'APPLICAZIONE
        Dim sc, cn, rs, contatore
    
        ' DEFINISCO LA STRINGA DI CONNESSIONE
        sc = ""
        sc = sc & "driver={Microsoft Access Driver (*.mdb)};dbq="
        sc = sc & Server.MapPath("/database.mdb")
    
        ' IMPOSTO LA CONNESSIONE EDIL RECORDSET
        Set cn = Server.CreateObject("ADODB.Connection")
        Set rs = Server.CreateObject("ADODB.Recordset")
    
        ' APRO LA CONNESSIONE COL DATABASE
        cn.Open sc
    
    'paginazione
    
    RecordsPerPage = 2
    Page = Request.QueryString("page")
    If Len(page) > 0 And IsNumeric(page) Then
    page = CLng(page)
    Else
    Page = 1
    End If
    
    
    %>
    
    
    ...omissis html......
    
    <%
        ' IMPOSTO A 0 IL CONTATORE
        contatore = 0
        ' APRO IL RECORDSET
        rs.Open "SELECT * FROM prodotti WHERE "&Request.QueryString("fcampo")&"='"&Request.QueryString("fcosa")&"' ORDER BY azienda ASC", cn, 3,3
    			rs.PageSize = 2 ' numero di record per pagina
    			rs.AbsolutePage = Page ' pagina da visualizzare
    
    
    	' ESEGUO IL CICLO
        While rs.EOF = False
            ' IMPOSTO LA PAGINAZIONE A 3 COLONNE ED N RIGHE
            ' IN FUNZIONE DEL NUMERO DI RECORD PRESENTI NEL DB
            If contatore = 1 Then
                contatore = 0
                Response.Write "</tr><tr>"
            End If
    %>
        <td align="center"><a href="javascript:esempio('lista.asp?IdPr=<%=Rs("id")%>&fcampo=<%=Request.QueryString("fcampo")%>&fcosa=<%=Request.QueryString("fcosa")%>');">[img]imagesProd/<%=rs([/img]" height="90" width="90">
    
    	<%=rs("cod")%></a>[img]img/add.gif[/img]</td>
    <%
            rs.MoveNext
            ' INCREMENTO IL VALORE DEL CONTATORE
            contatore = contatore + 1
        Wend
    %>
    ....omissis html....																							PAGINA: <%
    'barra di navigazione
    For i = 1 To Rs.PageCount
    If i = page Then
    Response.Write "(" & i & ")"
    Else
    
    Response.Write "" & i & ""
    
    End If
    Next
    %>					
    
    <%else%>																
    Nessun Prodotto
    
    .....altro html.......																			</body>
    
    </html>
    <%
        Set rs = Nothing
        cn.Close
        Set cn = Nothing
    
    end if
    %>
    ---------------------------
    danielix05

  8. #8

    scusa

    la pagina da cui puoi vedere l'esempio è questa
    ---------------------------
    danielix05

  9. #9

    sembra CHE HO RISOLTO

    facendo così mi sembra di aver risolto
    INCROCIAMO LE DITA E BUON NATALEEEEEEEE


    codice:
    <%@LANGUAGE = VBScript%>
    
    <%if Request.QueryString("fcampo") <> "" Or Request.QueryString("fcosa") <> "" then%>
    <% 
    set Conn=Server.CreateObject("ADODB.Connection")
    strConn="driver={Microsoft Access Driver (*.mdb)};"
    strConn=strConn & "DBQ=" & server.MapPath("DB.mdb")
    Conn.Open StrConn
    
    'estrazione pagina 
    pg= trim( request( "pg" )) 
    if pg = "" then pg = 1 
    'apertura del recordset 
    set rs=server.CreateObject("ADODB.Recordset")
    SQL="SELECT * FROM prodotti WHERE "&Request.QueryString("fcampo")&"='"&Request.QueryString("fcosa")&"' ORDER BY azienda ASC"
    rs.open SQL,conn,3,3
    rs.pagesize = 8 
    rs.absolutepage = pg 
    'Impostiamo il Contatore 
    Dim Conta 
    Conta = 0 
    while not rs.eof and rowcount < rs.pagesize 
    rowcount = rowcount + 1 
    
    %>
        <td align="center"><a href="javascript:esempio('lista.asp?IdPr=<%=Rs("id")%>&fcampo=<%=Request.QueryString("fcampo")%>&fcosa=<%=Request.QueryString("fcosa")%>');">[img]imagesProd/<%=rs([/img]" height="90" width="90">
    
    	<%=rs("cod")%></a>[img]img/add.gif[/img]</td>
    
    <% 
    'Incrementiamo il Contatore 
    Conta = Conta + 1 
    'Impostiamo il numero di colonne che si vogliono creare (nel nostro caso 2) 
    if Conta = 4 then 
    conta = 0 
    
    response.write "<tr></tr>" 
    
    end if 
    'Scorriamo i dati della tabella 
    Rs.MoveNext 
    Wend 
    %> 
    </tr></table>
    </td>
    
    </div>
    <% if rs.pagecount > 1 then %> 
    <font color="#e2e2e2"> Pagina: 
    <% for i = 1 to rs.pagecount 
    if i <> cINT( pg ) then 
    %> 
    &fcosa=<%=Request.QueryString("fcosa")%>"><%=i%> 
    <% else %> 
    <%=i%> 
    <%end if%> 
    <%next%> 
    </font> 
    <%end if%> 
    </div> 
    <% 
    Rs.close 
    Set Rs = Nothing 
    conn.Close 
    Set con = Nothing 
    %> 
    														
    </html>
    <%
    end if
    %>
    buon NATALE SOPRATTUTTO A MORPHEUS
    ---------------------------
    danielix05

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.