MySQL non supporta la paginazione nel modo classico di intendere la cosa, tuttavia, con pochi accorgimenti è possibile ovviare a questo limite.
Ci baseremo sullo script #208, ricavandone una versione compatibile con MySQL.
Per prima cosa, occorre aggiungere, in coda alla query SQL, questo pezzo di codice, che utilizza la direttiva LIMIT, supporta solo da MySQL, che consente di limitare i risultati ad un certo numero prestabilito.
<% SQL = "SELECT * FROM Ricerca WHERE Descrizione LIKE '%" & strRicerca & "%'" '... altro codice, identico allo script #208 intStart = CInt((page-1) * RecordsPerPagina) SQL = SQL & " LIMIT " & intStart & ", " & RecordsPerPagina %>
A questo punto è possibile inserire la ruotine che mostra i record trovati, una volta aperta la connessione e creato il recordset.
Infine, per creare la lista con le pagine disponibili, bisogna aggiungere questo ulteriore pezzo di codice:
<% ' RISULTATI TOTALI SQLCount = "SELECT COUNT(*) as totale FROM Ricerca WHERE Descrizione" &_ " LIKE '%" & strRicerca & "%'" set rsCount = Conn.Execute(SQLCount) totale = rsCount("totale") rsCount.Close set rsCount = Nothing ' PAGINE TOTALI maxpages = totale \ RecordsPerPagina ' correzione di eventuali imprecisioni if totale mod RecordsPerPagina <> 0 then maxpages = maxpages + 1 end if ' TUTTE LE PAGINE Response.Write "<P><B>Pagine:</B> " For pag=1 to maxpages Response.Write "<A href='pagina.asp?page=" & pag Response.Write "&" & Server.UrlEncode(strRicerca) Response.write "'>" Response.Write pag Response.Write "</A> " Next Response.Write "</P>" %>
Alcune parti del codice non sono state inserite, ma potete tranquillamente fare riferimento, come già detto, allo script #208 per eventuali integrazioni.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Accedere con ASP.NET ad un documento XML creato dall'oggetto recordset di ADO e ASP
- Richiamare programmaticamente le operazioni di aggiornamento, eliminazione e inserimento di FormView, DetailsView e GridView
- Aumentare la scalabilità di ASP.NET Core Web API con caching client side
- Visualizzare contenuti Fullscreen con HTML5
- Disabilitare un bottone in una pagina HTML pensando all'accessibilità
- Realizzare siti sicuri con ASP.NET Web Pages
- Focus dei tag input con HTML5
- Disponibile la beta di Silverlight 5
- Ricavare lo spazio occupato su disco dal nostro sito