Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di rosbon
    Registrato dal
    Feb 2001
    Messaggi
    194

    Paginazione in fase di ricerca

    Ciao, ho un problema sulla paginazione dei risultati di una ricerca.
    Cioè facendo la ricerca delle informazioni, una volta trovati gli elementi, ho difficoltà nel paginarli.
    In effetti il problema mi sorge perchè ogni volta che tento di raggiungere la pagina successiva,
    lo script mi ricontrolla se sono state immesse informazioni nel campo input ed effettua il controllo,
    scartando altre possibilità.
    Tralasciando un po' di codice Htlm, lo script è questo:
    codice:
    <%
    ' Verifica input
    cerca = lcase(replace(request.form("nome"),"'","''"))
    if request("nome") <> "" then
    nomericerca = 1
    
    ' Verifica nela campo ricerca
    nome_ric = replace(request.form("ricerca"),"'","''")
    
    If nome_ric <> "comune" then
    nome_ric = "nome"
    End If
    
    
    ' Prepariamo i records per ogni pagina
    RecordsPerPage = 12
    Page = Request.QueryString("page")
    If Len(page) > 0 And IsNumeric(page) Then
    page = CLng(page)
    Else
    Page = 1
    End If
    
    ' Prepariamo la SQL per la ricerca
    dim sql, rs
    Set Rs = Server.CreateObject("ADODB.Recordset")
    sql = "select id, tipo_struttura, nome, comune from strutture where
     visibile=true and " & nome_ric & " like '%"&cerca&"%' Order by
     comune, tipo_struttura, nome ASC"
    
    
    Rs.open SQL, Conn, 1, 3
    
    
    ' Se non troviamo nulla 
    If rs.EOF then %>
    ...........
    <%
    Else
    Rs.PageSize = RecordsPerPage
    Rs.AbsolutePage = Page
    %> 
     
    Strutture in Elenco: <%=rs.RecordCount> Pagina <%=Page%>
                              di<%=rs.PageCount%>
    <%
    recordcount = (RecordsPerPage * (Page - 1))
    For x = 1 To RecordsPerPage
    If Not Rs.EOF Then
    recordcount = recordcount + 1
    %>
    ............                        
    <% 
    Rs.MoveNext
    End If
    Next		
    %>
    ......
    <%
    pageup = page
    pageoff = rs.pagecount
    if pageup <> pageoff then 
    pageup = pageup + 1
    else nopageup = true
    end if
    
     
    pagedown = page
    pagedown = pagedown - 1
    if pagedown = 0 then 
    nopagedown = true  
    end if
    %>  
    .......
    <%="Vai alla pagina: "%> 
    <%
    For i = 1 To Rs.PageCount
    If i = page Then
     
    Response.Write"(" & i & ")"
    
    Else
    Response.Write " "& i &" " 
    End If
    Next
    
    Rs.Close
    Set Rs = Nothing
    End if
    
    Conn.Close
    Set Conn = Nothing		
    %>
    
    </td>
    <td width="100" align="left"><%if nopagedown = true then%>
    <font face="Arial" size="2">◄</font>
    <font face="Arial" size="1">PRECEDENTE</font><%else%>
    <a title="Pagina precedente" href="cerca.asp?page=<%=pagedown%>"
     style="text-decoration: none"><font face="Arial" size="2">◄</font>
    <font face="Arial" size="1">PRECEDENTE</font></a><%end if%></td>
    
    <td width="100" align="right"><%if nopageup = true then%>
    
    <font size="1" face="Arial">SUCCESSIVO</font>
    
    <font face="Arial" size="2">►</font>
    <%else%>
    <a title="Pagina successiva" href="cerca.asp?page=<%=pageup%>"
     style="text-decoration: none">
    
    <font size="1" face="Arial">SUCCESSIVO</font>
    
    <font face="Arial" size="2">►</font></a>
    <%end if%>
    </td>
    </tr>
    </table>
    <table border="0" cellpadding="0" cellspacing="0" 
    style="border-collapse: collapse" width="200">
    <tr>
    <td width="100%" align="center">
    <a title="Torna Indietro" href="javascript:history.back()"
     style="text-decoration: none">
    <font size="2" face="Arial">◄◄ </font>
    <font size="1" face="Arial">INDIETRO</font></a></td>
    </tr>
    </table>  
    
    
    <%
    Else
    nomericerca = 0 %>
    
    <div align="center">
     <center>
    <table border="0" cellpadding="0" cellspacing="0" 
    style="border-collapse: collapse" width="588">
    <tr>
    <td width="100%">
    <table border="0" cellpadding="0" cellspacing="0" 
    style="border-collapse: collapse" width="100%">
    <tr>
    <td width="100%" align="center" height="30">
    <font face="Arial" color="#003366" size="5">! !
     ERRORE ! !</font></td>
    </tr>
    </table>
    <table border="0" cellpadding="0" cellspacing="0" 
    style="border-collapse: collapse" width="100%" height="18">
    <tr>
    <td width="100%" height="35" align="center">
    
    <font color="#800000" face="Arial">
    Inserisci un nome per favore</font></td>
            				</tr>
          					</table>
          					
    
    </p>
          					 </td>
        					</tr>
      					</table>
      					</center>
    					</div>
    <%End if%>
    Che soluzione adottare??
    Grazie a tutti.
    Ros.

  2. #2
    Utente di HTML.it L'avatar di rosbon
    Registrato dal
    Feb 2001
    Messaggi
    194
    Non riesco a trovare la soluzione su come trasportare i dati della ricerca sulle pagine successive.
    Ros.

  3. #3
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Il problema è il trasporto delle informazioni o il controllo del campo che, se vuoto, esclude il codice della ricerca e della paginazione?
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    I problemi sono qui e in tutti i link della paginazione:

    codice:
    Response.Write " "& i &" "

    Come vedi tu passi alla pagina solo il valore di "page" e non anche le informazioni per la ricerca come "nome" e "ricerca".
    Inoltre fai così:

    codice:
    ' Verifica input
    cerca = lcase(replace(request("nome"),"'","''"))
    if request("nome") <> "" then
    nomericerca = 1
    
    ' Verifica nela campo ricerca
    nome_ric = replace(request("ricerca"),"'","''")
    In questo modo la verifica la potrai fare anche se le informazioni provengono da un link e non solo da un form.

    Roby

  5. #5
    Utente di HTML.it L'avatar di rosbon
    Registrato dal
    Feb 2001
    Messaggi
    194
    Si grazie Roby. Come vedi avevo intuito il problema del trasporto dei dati.
    Ho provato con alcuni link ma nn
    Ros.

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Originariamente inviato da rosbon
    Si grazie Roby. Come vedi avevo intuito il problema del trasporto dei dati.
    Ho provato con alcuni link ma nn
    Non ho capito...
    Che link hai provato? Devi solo aggiungere le variabili utilizzate nella ricerca.

    Roby

  7. #7
    Utente di HTML.it L'avatar di rosbon
    Registrato dal
    Feb 2001
    Messaggi
    194
    Ho provato a concatenarlo con la "&" ma nn??
    Ros.

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Vediamo che hai fatto...

    Roby

  9. #9
    Utente di HTML.it L'avatar di rosbon
    Registrato dal
    Feb 2001
    Messaggi
    194
    codice:
    Response.Write " "& i &" "
    Ho provato la concatenazione:
    variabile='nomevalore'&variabile2='nomevalore' ecc...
    ma nn
    Ros.

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    Response.Write " "& i &" "
    Roby

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.