Visualizzazione dei risultati da 1 a 4 su 4

Discussione: multipagina

  1. #1

    multipagina

    Salve a tutti...

    ho il seguente codice asp... non riecso ad inserire il multipagina nel senso che vorrei far comparire 50 prodotti per pagina e poi far comparire gli altri prodotti alla pagina successiva... ma non riesco a capire proprio come si fa...

    <table border="1" cellpadding="2" id="table15" width="222" height="266" bordercolorlight="#C0C0C0" bordercolordark="#C0C0C0" style="border-collapse: collapse"><tr>

    <%
    ' 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("mdb-database/miluna.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
    %>
    <%
    ' IMPOSTO A 0 IL CONTATORE
    contatore = 0
    ' APRO IL RECORDSET
    rs.Open "SELECT * FROM news", 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 = 4 Then
    contatore = 0
    Response.Write "</tr><tr>"
    End If
    %>
    <td valign="middle" align="center">
    ">[img]../public/<% = rs([/img]">

    <font size="1" face="Arial">
    <% = rs("codice") %>


    </font></td>
    <%
    rs.MoveNext
    ' INCREMENTO IL VALORE DEL CONTATORE
    contatore = contatore + 1
    Wend
    rs.Close
    %><%
    ' UN PO DI PULIZIA...
    Set rs = Nothing
    cn.Close
    Set cn = Nothing

    %></td>&gt;<div align="center">
    Gianfry

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Devi cercare nel forum il termine "paginazione".
    Quella che hai fatto tu è una paginazione orizzontale, che è una cosa diversa.

    Roby

  3. #3
    Si hai Ragine ma avrei bisogno di inserire anche una paginazione verticale nel senso che dovo 10 righe mi deve andare alla pagina 2 etc... e sotto vorrei far comparire i numeri di pagina... ma proprio non riesco a acpire come fare... aiutatemi vi prego.
    Gianfry

  4. #4
    1. conta quanti record totali hai da mostrare con una select count()

    2. ricava il numero di pagine che ti serve per visualizzare tutti i record
    codice:
         resto = n°_tot record mod n° record x pagina 
         n_pag = (n°_tot record-resto)/n° record x pagina
         if resto>0 then
          n_pag=n_pag+1
         end if
    3. recupera la pagina che stai visualizzando (con un request.querystring)
    codice:
      pagina_attuale=request.querystring("pagina_attuale")
    4. genera la query per visualizzare i record della pagina interessata
    codice:
    query="SELECT TOP "&n°_record x pagina&" * FROM (SELECT TOP "&(n°_tot record - (n°_record x pagina*(pagina_attuale-1)))&" * FROM usato WHERE ... ORDER BY ... DESC) ORDER BY ... ASC"
    5. stampa a video i risultati


    almeno io ho fatto così e funziona

    PS. te l'ho messa giu solo come esempio, il tutto a me si svolge su circa 20 righe, ma se capisci il ragionamento è abbastanza semplice


    PPS. la pagina 0 non esiste e se la pagina attuale fosse="" devi impostarla di default a 1
    codice:
    pagina_attuale=request.querystring("pagina_attuale")
    if pagina_attuale="" then
     pagina_attuale=1
    end if

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.