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

    Paginazione con frecce [avanti] [indietro]

    Ho creato questo sistema di paginazione prendendo spunto qua e là:

    codice:
    <% 
    
    RecordsPerPagina = 1 
    
    If request.querystring("page")= "" then 
    	pagina_corrente = 1
    Else
    	pagina_corrente = request.querystring("page")
    End If
    
    If position_c = "god" then
    	sqlstring = "SELECT * FROM login ORDER BY position"
    Else
    	sqlstring = "SELECT * FROM login WHERE position<>'" & poteri & "' ORDER BY position"
    End If
    
    Set objRs = Server.CreateObject("ADODB.Recordset")
    objRs.Open sqlstring, objConn, 3, 3
    
    objRs.PageSize = RecordsPerPagina 
    objRs.AbsolutePage = pagina_corrente
    tot_pagine = objRs.PageCount
    
    For i = 1 to RecordsPerPagina
     
    If Not objRs.EOF then
    %>
    <tr>
    <td width="200" class="record"><font class='record'><%=objRs("nome")%></td>
    <td width="200" class="record"><font class='record'><%=objRs("username")%></td>
    <td width="200" class="record"><font class='record'><%=objRs("password")%></td>
    <td width="295" class="record"><font class='record'><%=objRs("position")%></td>
    <td width="75" align="center">&url=<%=url%>">[img]../images/edit.gif[/img]">[img]../images/del.gif[/img]
    <%
    If Cint(records) > 1 then
    response.write "<input type=""checkbox"" name=""selezione"" value=""" & objRs("id") & """></td></tr>"
    Else
    response.write "</td></tr>"
    End If
     
    objRs.MoveNext 
    End If
    Next 
    
    %>
    <table class="pages" border="0">
    <tr>
    <td align="right">
    <% 
    response.write "<font class=""record"">Pagina " & pagina_corrente & " di " & tot_pagine & ""
    If tot_pagine <> 1 then
    
    	If pagina_corrente = 1 then
    		response.write "[img][/img][img][/img]"
    	End If
    	
    	If pagina_corrente > 1 and pagina_corrente < tot_pagine then
    		response.write "[img][/img][img][/img]"
    	End If
    	
    	If pagina_corrente = tot_pagine then
    		response.write "[img][/img][img][/img]"
    	End If 
    	
    Else
    	response.write "[img][/img][img][/img]"
    
    End if
    
    objRs.Close 
    Set objRs = Nothing 
    objConn.Close 
    Set objConn = Nothing
    %>
    La paginazione avviene correttamente.
    Ciò che non riesco ad ottenere sono le frecce che mandano avanti o indietro di pagina (che è il codice in grassetto). Solo nella prima pagina mi visualizza la freccia che giustamente mi fa andare avanti di pagina. Nella pagina centrale non mi visualizza nessuna freccia, così come non mi visualizza niente nell'ultima pagina (dove il numero di pagina è uguale al totale delle pagine).
    Mi date una mano a capire il motivo?

    Grazie

  2. #2
    il caso=1 non serve

    codice:
    if pagina_corrente>1 then 
    'stamo il pulsante indietro
    end if
    
    if pagina_corrente<tot_pagine then
    'stampo il pulsante avanti
    end if
    questo è quello che uso io

  3. #3
    codice:
    If pagina_corrente > 1 then
    		response.write "[img][/img][img][/img]"
    	End If
    	
    	If pagina_corrente < tot_pagine then
    		response.write "[img][/img][img][/img]"
    	End If
    Con questo codice, adattato dal tuo consiglio, mi stampa a video la freccia avanti nella prima pagina, la freccia avanti nella seconda pagina (mandandomi però indietro di pagina), ma non la freccia che rimanda indietro, nessuna freccia nell'ultima pagina, nè avanti nè indietro.

  4. #4
    mi sembra strano...cmq se cambi anche il src dell'immagine è meglio...sono tutte e due ahead.gif

  5. #5
    Modificato così, ma continua a non funzionare:

    codice:
    If tot_pagine <> 1 then
    
    	If pagina_corrente = 1 then
    		response.write "[img][/img][img][/img]"
    	End If
    	
    	If pagina_corrente > 1 and pagina_corrente < tot_pagine then
    		response.write "[img][/img][img][/img]"
    	End If
    	
    	If pagina_corrente = tot_pagine then
    		response.write "[img][/img][img][/img]"
    	End If
    	
    Else
    	response.write "[img][/img][img][/img]"
    
    End if
    Nel tuo esempio dici che se la pagina corrente è minore del totale, stampi il pulsante avanti, ma non quello indietro.
    E quando arrivi ad avere la pagina corrente uguale al totale, cosa stampi?
    E sa la pagina è la prima? Quindi non maggiore di 1, ma uguale a 1?

  6. #6
    Allora!! La vogliamo trovare la soluzione per lo zio Dirk??

    Scherzo ragazzi...

  7. #7
    io dico nel mio esempio:

    se pagina corrente è maggiore di uno allora stampami indietro
    se pagina corrente è minore di pagine totale allora stampami avanti

    il ragionamento è giusto (infatti nei miei script funziona)...mo non mi sovviene perchè non vada a te...controlla pagina_corrente e tot_pagine se si valorizzano bene

  8. #8
    Le variabili vengono valorizzate correttamente, infatti il codice

    codice:
    <% 
    response.write "<font class=""record"">Pagina " & pagina_corrente & " di " & tot_pagine
    %>
    riporta in ogni pagina il numero esatto della pagina e il numero totale delle pagine.

    Ma nel tuo script, se ti trovi in una delle pagine "centrali", ti stampa sia la freccia indietro che quella avanti?

    Se riesci posta il codice completo del richiamo delle immagini di avanti e indietro.

  9. #9
    Problema risolto. Ho cambiato lo script per la paginazione ragnando quello del grande Roby_72 .

  10. #10
    buon per te, cmq la risposta era "si,mi stampa tutte e due le freccie"

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.