#208 - Utilizzare la paginazione come i motori di ricerca

I motori di ricerca adottano una tecnica, chiamata paginazione, che permette di dividere i risultati di una ricerca su più pagine.
In realtà i cambiamenti da apportare ad un motore di ricerca che non preveda questa funzione non sono poi molti e lo script che segue è un ottimo punto di partenza.

<%

RecordsPerPagina = 5

page = Request("page")
if page="" then page=1

' STRINGA SQL
strRicerca = Request("ricerca")
SQL = "SELECT * FROM Ricerca WHERE Descrizione LIKE '%" & strRicerca & "%'"

'apri recordset con valore 1,3
' es rs.open sql, conn, 1, 3

' paginazione
rs.PageSize = RecordsPerPagina
rs.AbsolutePage = page

If rs.Eof=True or rs.Bof=True then
  Response.Write "<P>Nessun risultato trovato</P>"
Else

For i=1 to RecordsPerPagina

  if Not rs.EOF then
    'mostra record

    rs.MoveNext
  end if

Next

End if

%>

Infine, per aggiungere una barra di navigazione tra le pagine con risultati:

<%

Response.Write "<P><B>Pagine:</B> "
For pag=1 to rs.PageCount

  Response.Write "<A href='pagina.asp?page=" & pag
  Response.Write "&ricerca=" & Server.UrlEncode(strRicerca)
  Response.write "'>"

  Response.Write pag

  Response.Write "</A> "

Next

Response.Write "</P>"

%>

Per maggiori informazioni sull'accesso dai database si veda
http://www.aspitalia.com/articoli/db/


Approfondimenti

Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

maxche79 scrive:
#208 - Utilizzare la paginazione come i motori di ricerca

Ciao ho un problema.Ho modificato il codice , senza cambiare nulla di importante (o almeno credo) e funziona parzialmente.Se richiamo la pagina ...
lunedì 14 marzo 2005 | 9 risposte
maxb scrive:
#208 - Utilizzare la paginazione come i motori di ricerca

Aggiungerei anche il metodo di paginazione supportato da Mysql. Infatti il motore di mysql non supporta il cursore 3 come Access o Sql server ma solo ...
lunedì 22 marzo 2004 | 1 risposta
p178899 scrive:
Utilizzare la paginazione come i motori di ricerca

Mi pare che ci sia un piccolo errore nello script:le righe di codice rs.PageSize = RecordsPerPagina rs.AbsolutePage = page vanno all'interno del loop ...
venerdì 9 novembre 2001 | 1 risposta
peppe in Utilizzare la paginazione come i motori di ricerca
mercoledì 11 luglio 2001 | 4 risposte

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.




IN EVIDENZA
MISC