Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630

    Numerare records estratti su varie pagine ma parte sempre dal numero 1

    Carissimi,
    ho questo script:
    codice:
        contatore = 0
    risultatiPerPagina = 10
    
    pagina = Request.queryString("pagina")
    if len(pagina) > 0 and isNumeric(pagina) then
        pagina = cLng(pagina)
    else
        pagina = 1
    end if
    
    if pagina < 1 then pagina = 1
    
    questaPagina = request.serverVariables("PATH_INFO")
    
    %>
    
         <%
    If rs.EOF Then
    %>
    
    non ci sono record
     <%
    Else
    %>    
    
    
    
    <%
        if not rs.eof then
    
            rs.pageSize = risultatiPerPagina
            
            rs.absolutePage = pagina
    
            if rs.recordCount = "1" then
        
            response.write"<u>E' stato trovata un solo record</u><br><br>"
    else
            response.write"<u>Sono stati trovati <b>"  & rs.recordCount & "</b> records</u><br><br>"
    
    end if
    %>
    
    
    
    <%
        for r = 1 to risultatiPerPagina
    
                    if not rs.eof then
                    
    
    %>
    STAMPA RECORDS
    <%=contatore+1%>
    <%=rs.fields("nome")%>
    <%=rs.fields("cognome")%>
    <%
    
    rs.moveNext
     
    contatore = contatore + 1
    
    
                else
        exit for    
                            
    end if
            next
        %>
    
    
    <%
        If pagina > 1 Then
        %>
        <font face="Tahoma" size="2">
        <a href="elenco.asp?pagina=<%=pagina-1%>">< Precendente</a>
    <%
    End If
    %>
    *
    <%
    If rs.EOF = False Then
    %>
        <a href="elenco.asp?pagina=<%=pagina+1%>"> Successiva ></a>
    </font>
    <%
    
    end If
    end if
    end if
    Funziona se stampa i records su una sola pagina, mentre essendo divisi su più pagine, ogni pagina fa partire il contatore sempre da 1 invece di proseguire nella numerazione progressiva
    Come posso fare?
    Grazie
    G.
    Ultima modifica di djjunior; 19-03-2015 a 19:48

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    È la query dov'è?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    L'avevo sottointesa comunque è:
    codice:
    sql = "SELECT * FROM test WHERE nome LIKE '%" & nome & "%' AND cognome LIKE '%" & cognome & "%' AND id LIKE '%" & id & "%' order by id Desc" 
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, Conn, 3, 3

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Vedi se questo va meglio, il problema credo sia nel menù di navigazione che incrementa o decreta la pagina
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Andrea, ho copiato e incollato lo script ma al cambio pagina parte sempre da zero...

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    nello script non parla di numerazione progressiva di ogni record

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Posta il tuo codice e un link alla pagina pubblica
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Link pubblico http://www.big-mama.it/test.asp
    codice:
    <head>
    
    </head>
    <%
        ' DEFINISCO LE VARIABILI CHE MI SERVONO PER L'APPLICAZIONE
        Dim sc, cn, rs, quanti, pag, contatore
    
        ' DEFINISCO LA STRINGA DI CONNESSIONE
        sc = ""
        sc = sc & "driver={Microsoft Access Driver (*.mdb)};dbq="
        sc = sc & Server.MapPath("../mdb-database/DB.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
    
        ' DEFINISCO IL NUMERO DI RECORD DA VISUALIZZARE PER OGNI PAGINA
        quanti = 11
    
        ' RECUPERO IL NUMERO DI PAGINA CORRENTE
        ' E CONTROLLO CHE NON SIA INFERIORE A 1
        pag = Request.QueryString("pag")
        If IsNumeric(pag) = False Or pag < 1 Then pag = 1
    
        ' IMPOSTO UN CONTATORE
        contatore = 1
    %>
    
    </head>
    
    <table>
    
    </table><p align="center">
    <font face="Verdana" size="2" color="#0000FF">
    </font></p>
    <div align="center">
    <table border="0" width="760" cellspacing="4" cellpadding="3" style="border-collapse: collapse" bgcolor="#CCFFFF">
        <tr>
        </tr>
        </table>
    </div>    <%
         rs.Open "SELECT * FROM test WHERE nome LIKE '%" & nome & "%'  AND id LIKE '%" & id & "%' order by id Desc" , cn, 1
        rs.PageSize = quanti
        rs.AbsolutePage = pag
        <%
    If rs.EOF Then Response.End
    %>
    <br>
    <div align="center">
    <table border="0" width="760" id="table6">
        <tr>
            <td>    <font face="Verdana" size="2">
        <p align="center"><b><font face="Tahoma" size="3" color="#FF0000">Nessun 
        iscrizione</font></b></p>
            
        </font>
    </td>
        </tr>
    </table>
    </div>
    <br>
     <%
    Else
    %>    
     
    <p align="center">
    <font face="Verdana" size="2" color="#000080">
    <u>Sono stati trovati <b><%=rs.recordCount%></b> iscritti</u><br><br>
    </font></p>
            <div align="center">
    <TABLE  BORDER="0" bordercolorlight="#000080" bordercolordark="#00FFFF"   width="760" bordercolor="#111111" cellpadding="0" height="75"  id="table5">
    <TR>
    
        <TD width="41" height="2" bgcolor="#3B98CE">
    <p align="center"><font size="1" color="#FFFFFF"><b>Nr</b></font></p>
        </TD>
    
        </font>
    
        <TD width="713" height="2" bgcolor="#3B98CE">
    <p align="center"><b><font face="Verdana" size="1" color="#FFFFFF">Nome </font></b></p>
        </TD>
            
        <font face="Verdana" size="2" color="#000080">
    
    </TR>
     <%
        While rs.EOF = False And contatore < quanti
    %>
      <center>
    
    <TR>
    <TD valign="middle" height="55" align="left" width="41" bgcolor="#CCFFFF">
    <font face="Verdana" size="2" color="#000080">
    <p align="center"><font face="Verdana" size="1"><%=contatore%></font></p>
    </TD>
        <TD height="55" align="left" width="713" bgcolor="#CCFFFF">
    <font face="Verdana" size="1">
    <%=rs.Fields("Nome")%><br></font></TD>
    </TR>
    <%
            rs.MoveNext
                contatore = contatore + 1
        Wend
    %>
        </table></div>
    <p align="center">
    <%If pag > 1 Then%>
        <a href="test.asp?pag=<%=pag-1%>">Indietro</a>
    <%End If%>
    <%
        Dim x
        x = 1
        For x = 1 To rs.PageCount
            If CInt(pag) <> x Then
    %>
                <a href="test.asp?pag=<%=x%>"><%=x%></a>
    <%
            Else
    %>
                <a href="test.asp?pag=<%=x%>"><b><%=x%></b></a>
    <%
            End If
        Next
    %>
    <%If rs.EOF = False Then%>
        <a href="test.asp?pag=<%=pag+1%>">Avanti</a>
    <%End If%>
    <%
    END IF
    %>
    </p>

  10. #10
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    la tua variabile contatore lavora sulla singola pagina, non sul risultato delle estrazioni.
    ovvio che riparta sempre da 0

    -verifica a che pagina ti trovi
    -moltiplica per il numero di estrazioni per pagina
    -togli il numero di estrazioni per pagina
    -poi esegui il ciclo incrementale

    esempio:

    recPerPag = 10
    numPagina = 2


    contatore = (numPagina * recPerPag ) - recPerPag

    quindi avrai questo tipo di risultato
    contatore = 2 * 10 - 10
    che produce 10
    poi metti il contatore nel ciclo

    fai attenzione ad avere sempre un numPagina superiore a 0

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.