Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374

    Problema con paginazione

    Codice preso da freeASP.it, mi aiutereste a comprenderlo?
    codice:
    <%
    'recupero la pagina
    page = Request.QueryString("page")
    ' imposto il numero di record per pagina
    perpage = 10
    
    'connessione al db
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.open "driver={Microsoft Access Driver (.mdb)};dbq=" & Server.MapPath("percorso/database.mdb")
    Set Rs = Server.CreateObject("ADODB.Recordset")
    sql = "SELECT FROM messaggi ORDER BY id"
    Rs.Open sql, Conn, 1, 3
    
    'imposto la variabile in modo da ottenere l'ultima se non ne viene specificata un'altra
    If page = "" then
    page = (rs.PageCount)
    End if
    
    'imposto la dimensione della pagina
    Rs.PageSize = perpage
    ' mi sposto all'ultima pagina
    Rs.AbsolutePage = page
    
    'scrivo i link ai 10 record
    For i = 1 to perpage
    If Not Rs.EOF then
    if Rs("id") < 10 then
    Response.Write ("[0" & Rs("id") & "'> ")
    else
    Response.Write ("[" & Rs("id") & "'> ")
    end if
    Rs.MoveNext
    end if
    next
    
    'scrivo i numeri delle pagine
    Response.Write "
    
    Pagine: "
    
    For pag= 1 to rs.PageCount
    if page = pag then
    'grassetto per la pagina corrente
    Response.Write ""
    Response.Write "<A href='questapagina.asp?page=" & pag
    Response.write "'>"
    Response.Write pag
    Response.Write "</A> "
    Response.Write ""
    else
    'normale per le altre pagine
    Response.Write "<A href='questapagina.asp?page=" & pag
    Response.write "'>"
    Response.Write pag
    Response.Write "</A> "
    end if
    Next
    
    Response.Write "</P>"
    
    'chiudo la connessione
    Rs.Close
    Set Rs = Nothing
    Conn.Close
    Set Conn = Nothing
    %>
    Non capisco molte cose:
    1- Cosa centra il "page = Request.QueryString("page")" in alto? C'è forse bisogno di un form per cercare la pagina(io non lo voglio per esempio)?
    2- Nel mio sito ho una tabella con tutti i record che deve essere ripetuta per il numero complessivo di record, però qui non c'è nessun "do while...loop", come si fa?
    3- Non è che c'è un modo per racchiudere la mia tabella tra "do while..." e "loop", ma facendo avanzare i record di 5 in 5 pagine come fa Dreamweaver?
    "Se la montagna vien da te,
    e tu non sei Maometto,
    allora scappa, potrebbe essere una frana!"

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    1 - Non c'è un form, il queryString sereve per recuperare il numero di id, infatti dice che se è vuoto parte appunto da 1 quando poi cliccki per vedere la seconda pagina passa anche un parametro id per far capire alla pagina da che record deve visualizzare.

    2 - Non c'è il do while ma c'è un for e un if che svolgono la stessa funzione, con il for ti fa scorrere la tabella per un numero fisso di record e l'if ti permette di non far andare la pagina in errore quando si arriva alla fine della tabella.

    3 - Al momento non mi viene in mente nessum metodo per usare do while, ma lo script va bene così com'è, perchè vuoi usare il do while??
    Ciao By Peter_Pan...

  3. #3
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Tra i miei script c'è la paginazione con do while se ti interessa...

    Roby

  4. #4
    Ciao Roby,

    Senti ho guardato il tuo file di paginazione, molto bello...
    Però se io utilizzassi una connessione dsn, non dovrei cambiare niente???
    :metallica
    Che cosa vuoi che ti dica???
    Senti che bel rumore...

  5. #5
    Ciao Roby,

    Senti ho guardato il tuo file di paginazione, molto bello...
    Però se io utilizzassi una connessione dsn, non dovrei cambiare niente???
    :metallica
    Che cosa vuoi che ti dica???
    Senti che bel rumore...

  6. #6
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Tra i miei script c'è la paginazione con do while se ti interessa...
    Mi interesserebbe...
    3 - Al momento non mi viene in mente nessum metodo per usare do while, ma lo script va bene così com'è, perchè vuoi usare il do while??
    Perchè per me è più semplice definire qual è l'inizio e quale la fine e inserirci in mezzo la tabella...
    "Se la montagna vien da te,
    e tu non sei Maometto,
    allora scappa, potrebbe essere una frana!"

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Originariamente inviato da Lan
    Ciao Roby,

    Senti ho guardato il tuo file di paginazione, molto bello...
    Però se io utilizzassi una connessione dsn, non dovrei cambiare niente???
    La connessione direi...

    Roby

  8. #8
    SI CERTO....
    SENTI, HO PRESO IL TUO SCRIPT L'HO CONFIGURATO E FUNZIONA...
    PERò QUANDO IO DEVO FAR PASSARE ALLA QUERY DELLE VARIABILE, MI RIMANGONO PER LA PRIMA PAGINA MA PER LE ALTRE PAGINE NO...

    tI FACCIO UN ESEMPIO:

    PASSO IL VALORE A ALLA QUERY
    QUESTO VALORE MI TIRA FUORI TUTTI I DATI CHE HANNO IL VALORE A
    OTTENGO 50 RECORD PAGINATI IN PAGINE DA 10 RECORD, QUINDI 5 PAGINE...
    LA PRIMA PAGINA MI VIENE VISUALIZZATA GIUSTA,
    DALLA SECONDA ALLA 5 NON MI VISUALIZZA PIù LA VARIABILE A E MI RIDà TUTTI I DATI DEL DB...

    COSA DEVO FARE PER FARGLI TENERE QUELLA VARIABILE???
    :metallica
    Che cosa vuoi che ti dica???
    Senti che bel rumore...

  9. #9
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Le variabile devono essere passate nel link della paginazione, in pratica dove clicchi per caricare le pagine.
    Le leghi al numero di pagina in querystring.

    Roby

  10. #10
    ok fatto...
    Ora però ho un problema di concetto...

    Io faccio passare dalla paginaA alla paginaB due variabili che chiamo variabileA e variabileB...

    poi nella paginaB ho un form di ricerca con altre 4 variabili...

    io vorrei che quando un utente fa una ricerca sul form con le altre 4 variabili, le prime due variabili (VariabileA e variabileB) rimangano attive e che quindi faccia la ricerca sui campi contenenti variabileA variabileB e le altre quattro variabili ...

    il problema è che il form non mi tiene in memoria le prime due variabili, anche mettendo una request non me le tiene in memoria...

    non vorrei che sia un problema di sql ma non penso...

    avete qualche suggerimento in proposito???
    :metallica
    Che cosa vuoi che ti dica???
    Senti che bel rumore...

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.