36 messaggi dal 08 marzo 2004
Salve a tutti.

Ho una semplice pagina ASP che mi visualizza tutti il contenuto di un database....

Purtroppo i record sono aumentati di molto e la pagina è diventata molto lenta da caricare ovviamente....

Allora mi chiedevo se era possibile far generare ad ASP tante pagine conteneti esempio 6 record, in modo da suddividere il peso in più pagine.

Qualcuno sa darmi dei suggerimenti?

Grazie a tutti
2.584 messaggi dal 14 maggio 2001
Fai una ricerca sul sito per "Paginazione"
36 messaggi dal 08 marzo 2004
Salve, ho seguito il consiglio

Questo è il lavoro che ho fatto..... purtroppo mi da un errore
------------
SCRIPT
-----------
<%

RecordsPerPagina = 2

page = Request("page")

if page="" then page=1


'Apertura connessione con il database

Set Conn = Server.CreateObject( "ADODB.Connection" )
strConn = "driver={Microsoft Access Driver (*.mdb)}; "
strConn = strConn & " DBQ=" & Server.MapPath("../../../db/fcs_servizi.mdb")
Conn.Open strConn

'Apertura Recordset

Set RS = Server.CreateObject( "ADODB.Recordset" )

sql = "SELECT * FROM usato ORDER BY ordine;"

Set rs = Server.CreateObject("ADODB.Recordset")

rs.Open sql, conn

rs.PageSize = RecordsPerPagina

rs.AbsolutePage = page


For i=1 to RecordsPerPagina


WHILE NOT RS.EOF

'visualizzo varie tabelle con le informazioni dei prodotti e la foto, tante tabelle quante sono i record presenti nel database

RS.MoveNext
WEND

Next

%>
-----------------
FINE SCRIPT
-----------------



-------------
ERRORE
-------------

Tipo di errore:
ADODB.Recordset (0x800A0CB3)
L'operazione richiesta non è supportata dall'oggetto o dal provider.
/fcs/italiano/prodotti/caricatori_usati/caricatori_usati.asp, line 56


Tipo di browser:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)

Pagina:
GET /fcs/italiano/prodotti/caricatori_usati/caricatori_usati.asp

------------------
FINE ERRORE
------------------

Modificato da massimo_casellato il 22 aprile 2004 15.31 -
11.886 messaggi dal 09 febbraio 2002
Contributi
prova ad aprire il recordset in questo modo :

rs.Open sql, conn, 3, 3

Enjoy learning and just keep making
36 messaggi dal 08 marzo 2004
aprendo il recordset aggiungendo 3, 3 non mi da più l'errore e mi apre la pagina....

però mi ripete lo stesso record per il numero di volte che imposto sulla variabile RecordsPerPagina


Ah poi nello script c'era un altro errore, ossia un ciclo nel ciclo e infatti mi visualizzava tutti i records presenti a causa del secondo ciclo.

Ora invece funziona nella maniera giusta, solo che appunto mi visualizza il primo record ripetuto tot volte....

Invece dovrebbe fare:

pagina 1 = records 1 - 2 - 3
pagina 2 = records 4 - 5 - 6

e così via




Poi c'è una cosa che non capisco, nelle prime righe assegno il valore alla variabile page facendo un request ("page")

Ma chi passa quel valore? Nel mio sito ho un link ad una pagina usati.asp

quindi quel valore non viene passato (credo)
Modificato da massimo_casellato il 22 aprile 2004 16.47 -
2.584 messaggi dal 14 maggio 2001
Con questa istruzione: request ("page")
cerchi "page" in tutte le collection possibili cioè in:
request.querystring, request.form, request.cookies, request.application, request....

Quando arrivi la prima volta sulla tua pagina questo controllo:
if page="" then page=1
si assicura che prendi la prima pagina come è ovvio...

poi quando clicchi sul link della seconda pagina devi mettere ad esempio questo querystring:
....usati.asp?page=2
36 messaggi dal 08 marzo 2004
e come faccio a fare il link dinamico?

lo che il link deve avere delle query string = 2 per pagina 2 = 3 per pagina 3 ecc

però quante pagine ho? Non lo so perchè dipende dal numero di records, quindi come faccio a fare in modo che il link si generino automaticamente ogni 6 records e con la query string che aumenti di +1 ogni volta?

E cmq lo script di prima funziona però mi mostra nella pagina 3 records come impostato, purtroppo però è sempre lo stesso ripetuto 3 volte....

Io credo si debba modificare la query Select forse
3.122 messaggi dal 16 maggio 2002
però mi ripete lo stesso record per il numero di volte che imposto sulla variabile RecordsPerPagina

Il ciclo è sbagliato. Sostituisci tutto il blocco for..next con questo:
i=1
while(i<=RecordPerPagina and not rs.eof)

'visualizzo varie tabelle con le informazioni dei prodotti e la foto, tante tabelle quante sono i record presenti nel database

rs.MoveNext
i = i+1
wend

Modificato da Raynor il 23 aprile 2004 10.23 -

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.