Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Problemi paginazione

  1. #1

    Problemi paginazione

    Salve a tutti
    ho adattato il seguente script per la paginazione di risultati e devo dire che funziona davvero bene per la prima pagina, l'errore si verifica quando si richiama la seconda pagina che appare puntualmente vuota perchè non ricordo più come si fa a valorizzare la variabile, qualcuno può aiutarmi?
    <html>
    <head>
    <title>HC CONTATTI</title>
    </head>
    <BODY MARGINWIDTH="0" MARGINHEIGHT="0" TOPMARGIN="0" LEFTMARGIN="0" bgcolor=#EAECEE>

    <%
    Dim unit
    unit=request.querystring("unit")


    iPageSize = 15 'NUMERO RECORD PER PAGINA

    If Request.QueryString("page") = "" Then
    iPageCurrent = 1
    Else
    iPageCurrent = CInt(Request.QueryString("page"))
    End If

    strSQL = "SELECT * FROM contatti WHERE unit='"&unit&"' ORDER BY rif DESC"
    Set objRS = Server.CreateObject("ADODB.Recordset")
    objRS.PageSize = iPageSize
    objRS.CacheSize = iPageSize
    objRS.Open strSQL, objConn, adOpenStatic, adLockReadOnly, adCmdText
    reccount = objRS.recordcount
    iPageCount = objRS.PageCount

    If iPageCurrent > iPageCount Then iPageCurrent = iPageCount
    If iPageCurrent < 1 Then iPageCurrent = 1

    If iPageCount = 0 Then
    %>
    <center><font face="Verdana" size="1" color="#003399">Nessun contatto per questo cantiere</font></center>
    <%
    Else
    objRS.AbsolutePage = iPageCurrent
    iRecordsShown = 0
    %>

    <div align=center>


    </p>


    <font face="Verdana" size="1" color="#003399"> (Cantiere: <%=unit%> )</font></p>
    <table cellpadding="2" cellspacing="1" border="0" width="700" bgcolor=#003399>

    <tr height="30">
    <!--
    <td valign="middle" align="center" bgcolor="#FDF9C7"><font face=verdana size=1>C</td>
    -->
    <td valign="middle" align="center" bgcolor="#FDF9C7"><font face=verdana size=1>M</td>

    <!--
    <td bgcolor="#FDF9C7">
    <font face="verdana" size="1">N.</font></td>
    -->


    <td bgcolor="#FDF9C7">
    <font face="verdana" size="1">Rif</font></td>

    <td bgcolor="#FDF9C7" align="center" width="50">
    <font face="verdana" size="1">Data</font></td>

    <td bgcolor="#FDF9C7" align="center">
    <font face="verdana" size="1">Unità</font></td>

    <td bgcolor="#FDF9C7" align="center">
    <font face="verdana" size="1">Provenienza</font></td>

    <td bgcolor="#FDF9C7" align="center">
    <font face="verdana" size="1">Nominativo</font></td>

    <td bgcolor="#FDF9C7" align="center">
    <font face="verdana" size="1">Recapito</font></td>

    <td bgcolor="#FDF9C7" align="center">
    <font face="verdana" size="1">Funzionario</font></td>

    <td bgcolor="#FDF9C7" align="center">
    <font face="verdana" size="1">Lavorato</font></td>
    </tr>
    <%
    'SI VISUALIZZA IL CONTENUTO DELLA STRINGA SQL
    'ALL'INTERNO DELLA TABELLA PRIMA DEFINITA
    cont=1
    Do While iRecordsShown < iPageSize And Not objRS.EOF
    Dim Rig, bg
    Rig = Rig + 1
    If Rig Mod 2 = 0 then
    bg = "#FDF9C7"
    Else
    bg = "#DFDFDF"
    End if
    %>
    <tr height="30" bgcolor=<%=bg%>>
    <!--
    <td valign="middle" align="center">">[img]cancella.gif[/img]"></td>
    -->
    <td valign="middle" align="center">">[img]modifica.gif[/img]"></td>

    <!--
    <td><font face='Verdana' size='2'>
    <%=(iPageSize*iPageCurrent)-iPageSize+Cont%>
    -->


    <td heigth=30 ><font face='Verdana' size='1'><%=objRS("rif")%></font></td>

    <td><font face='Verdana' size='1'><%=objRS("data")%></font></td>

    <td><font face='Verdana' size='1'><%=objRS("unit")%></font></td>

    <td><font face='Verdana' size='1'><%=objRS("proven")%></font></td>

    <td><font size="1" face="Verdana">
    "><%=objRS("nomin")%></font></td>

    <td><font face='Verdana' size='1'><%=objRS("recapito")%></font></td>

    <td><font face='Verdana' size='1'><%=objRS("funz")%></font></td>

    <td><font face='Verdana' size='1'><%=objRS("lav")%></font></td>
    <%
    Cont = Cont + 1
    'POSIZIONAMENTO ALLA RIGA SUCCESSIVA DEL DB
    iRecordsShown = iRecordsShown + 1
    objRS.MoveNext
    Loop
    'PULIZIA DEGLI OGGETTI ADO
    objRS.Close
    Set objRS = Nothing
    %>
    </tr>
    </table>


    <%End if%>



    <%If ipagecount <> 1 Then%>
    <center>

    <table bgcolor=#EAECEE>
    <tr valign="middle">
    <td width="50%" align="center" valign="middle"><font face="verdana" size="1" color="#000000">
    [
    <%if iPageCurrent-2 > 0 and iPageCurrent > 2 then%>
    <font face=verdana size=1>Prima
    <%end if%>
    <%if iPageCurrent > 1 then%>
    <font face=verdana size=1>Precedente
    <%end if%>
    <%if iPageCount > 2 then
    if iPageCurrent-2 < 1 then da_pag = 1 else da_pag = iPageCurrent-2
    if iPageCurrent+2 > iPageCount then fino_a_pag = iPageCount else fino_a_pag = iPageCurrent+2
    else
    da_pag = 1
    fino_a_pag = iPageCount
    end if%>
    <%for i = da_pag to fino_a_pag%>
    <%if i = iPageCurrent then%>
    <font color="red"><%=i%></font>
    <%else%>
    <%=i%>
    <%end if%>
    <%next%>
    <%if iPageCurrent > 0 and iPageCurrent < iPageCount then%>
    <font face=verdana size=1>Successiva
    <%end if%>
    <%if iPageCurrent+1 < iPageCount then%>
    <font face=verdana size=1>Ultima
    <%end if%>
    ]

    </font></td>
    </tr>
    <tr>
    <td colspan="2" align="center"><font face="verdana" size="1" color="#000000">
    <center>
    Pagina
    <font color="#FF0000"><%=iPageCurrent%></font>
    di
    <font color="#FF0000"><%=iPageCount%></font>
    </center>
    </font></td>
    </tr>
    </table>
    </center>
    <%end if%>

  2. #2
    Nei link alle pagine successive, oltre a passare il numero pagina, devi passare anche il valore della ricerca, ovvero aggiungere
    codice:
    ?page=<%=i%>&unit=<%=unit%>

  3. #3
    Ti ringrazio molto ma non riesco a farlo funzionare

  4. #4
    Originariamente inviato da alberto_gt
    Ti ringrazio molto ma non riesco a farlo funzionare
    codice:
    <html>
    <head>
    <title>HC CONTATTI</title>
    </head>
    <BODY MARGINWIDTH="0" MARGINHEIGHT="0" TOPMARGIN="0" LEFTMARGIN="0" bgcolor=#EAECEE>
    
    <%
    Dim unit
    unit=request.querystring("unit")
    
    
    iPageSize = 15 'NUMERO RECORD PER PAGINA
    
    If Request.QueryString("page") = "" Then
    iPageCurrent = 1
    Else
    iPageCurrent = CInt(Request.QueryString("page"))
    End If
    
    strSQL = "SELECT * FROM contatti WHERE unit='"&unit&"' ORDER BY rif DESC"
    Set objRS = Server.CreateObject("ADODB.Recordset")
    objRS.PageSize = iPageSize
    objRS.CacheSize = iPageSize
    objRS.Open strSQL, objConn, adOpenStatic, adLockReadOnly, adCmdText
    reccount = objRS.recordcount
    iPageCount = objRS.PageCount
    
    If iPageCurrent > iPageCount Then iPageCurrent = iPageCount
    If iPageCurrent < 1 Then iPageCurrent = 1
    
    If iPageCount = 0 Then
    %>
    <center><font face="Verdana" size="1" color="#003399">Nessun contatto per questo cantiere</font></center>
    <%
    Else
    objRS.AbsolutePage = iPageCurrent
    iRecordsShown = 0
    %>
    
    <div align=center>
    
    
     </p>
    
    
    <font face="Verdana" size="1" color="#003399"> (Cantiere: <%=unit%> )</font></p>
    <table cellpadding="2" cellspacing="1" border="0" width="700" bgcolor=#003399>
    
    <tr height="30">
    <!--
    <td valign="middle" align="center" bgcolor="#FDF9C7"><font face=verdana size=1>C</td>
    -->
    <td valign="middle" align="center" bgcolor="#FDF9C7"><font face=verdana size=1>M</td>
    
    <!--
    <td bgcolor="#FDF9C7">
    <font face="verdana" size="1">N.</font></td>
    -->
    
    
    <td bgcolor="#FDF9C7">
    <font face="verdana" size="1">Rif</font></td>
    
    <td bgcolor="#FDF9C7" align="center" width="50">
    <font face="verdana" size="1">Data</font></td>
    
    <td bgcolor="#FDF9C7" align="center">
    <font face="verdana" size="1">Unità</font></td>
    
    <td bgcolor="#FDF9C7" align="center">
    <font face="verdana" size="1">Provenienza</font></td>
    
    <td bgcolor="#FDF9C7" align="center">
    <font face="verdana" size="1">Nominativo</font></td>
    
    <td bgcolor="#FDF9C7" align="center">
    <font face="verdana" size="1">Recapito</font></td>
    
    <td bgcolor="#FDF9C7" align="center">
    <font face="verdana" size="1">Funzionario</font></td>
    
    <td bgcolor="#FDF9C7" align="center">
    <font face="verdana" size="1">Lavorato</font></td>
    </tr>
    <%
    'SI VISUALIZZA IL CONTENUTO DELLA STRINGA SQL
    'ALL'INTERNO DELLA TABELLA PRIMA DEFINITA
    cont=1
    Do While iRecordsShown < iPageSize And Not objRS.EOF
    Dim Rig, bg
    Rig = Rig + 1
    If Rig Mod 2 = 0 then
    bg = "#FDF9C7"
    Else
    bg = "#DFDFDF" 
    End if
    %>
    <tr height="30" bgcolor=<%=bg%>>
    <!--
    <td valign="middle" align="center">">[img]cancella.gif[/img]"></td>
    -->
    <td valign="middle" align="center">">[img]modifica.gif[/img]"></td>
    
    <!--
    <td><font face='Verdana' size='2'>
    <%=(iPageSize*iPageCurrent)-iPageSize+Cont%>
    -->
    
    
    <td heigth=30 ><font face='Verdana' size='1'><%=objRS("rif")%></font></td>
    
    <td><font face='Verdana' size='1'><%=objRS("data")%></font></td>
    
    <td><font face='Verdana' size='1'><%=objRS("unit")%></font></td>
    
    <td><font face='Verdana' size='1'><%=objRS("proven")%></font></td>
    
    <td><font size="1" face="Verdana">
    "><%=objRS("nomin")%></font></td>
    
    <td><font face='Verdana' size='1'><%=objRS("recapito")%></font></td>
    
    <td><font face='Verdana' size='1'><%=objRS("funz")%></font></td>
    
    <td><font face='Verdana' size='1'><%=objRS("lav")%></font></td>
    <%
    Cont = Cont + 1
    'POSIZIONAMENTO ALLA RIGA SUCCESSIVA DEL DB
    iRecordsShown = iRecordsShown + 1
    objRS.MoveNext
    Loop
    'PULIZIA DEGLI OGGETTI ADO
    objRS.Close
    Set objRS = Nothing
    %>
    </tr>
    </table>
    
    
    <%End if%>
    
    
    
    <%If ipagecount <> 1 Then%>
    <center>
    
    <table bgcolor=#EAECEE>
    <tr valign="middle">
    <td width="50%" align="center" valign="middle"><font face="verdana" size="1" color="#000000">
    [
    <%if iPageCurrent-2 > 0 and iPageCurrent > 2 then%>
     <font face=verdana size=1>Prima 
    <%end if%>
    <%if iPageCurrent > 1 then%>
     <font face=verdana size=1>Precedente 
    <%end if%>
    <%if iPageCount > 2 then
    if iPageCurrent-2 < 1 then da_pag = 1 else da_pag = iPageCurrent-2
    if iPageCurrent+2 > iPageCount then fino_a_pag = iPageCount else fino_a_pag = iPageCurrent+2
    else
    da_pag = 1
    fino_a_pag = iPageCount
    end if%>
    <%for i = da_pag to fino_a_pag%>
    <%if i = iPageCurrent then%>
     <font color="red"><%=i%></font> 
    <%else%> 
     <%=i%> 
    <%end if%> 
    <%next%>
    <%if iPageCurrent > 0 and iPageCurrent < iPageCount then%>
     <font face=verdana size=1>Successiva 
    <%end if%> 
    <%if iPageCurrent+1 < iPageCount then%>
     <font face=verdana size=1>Ultima 
    <%end if%> 
    ]
    </font></td>
    </tr>
    <tr>
    <td colspan="2" align="center"><font face="verdana" size="1" color="#000000">
    <center>
    Pagina 
    <font color="#FF0000"><%=iPageCurrent%></font>
     di 
    <font color="#FF0000"><%=iPageCount%></font>
    </center>
    </font></td>
    </tr>
    </table>
    </center>
    <%end if%>

  5. #5
    Perfetto, funziona alla grande ! Ti ringrazio

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.