Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    risultati paginati non corretti

    Salve a tutti, ho un problema sulla paginazione:

    questo il codice

    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
    %>
    fin qui tutto bene, ma il problema che quando apro la pagina per la prima volta mi da i risultati in questo modo
    pagine: 1 2 3 4

    e va bene, ma se clicco alla seconda pagina mi da questo risultato

    pagine: 1 2 3 4

    ovvero non mi mette la seconda pagina in grassetto, io penso che il problema sia qui: " if page = pag ...", ma non so come risolverlo. Se a voi funziona, posso postare il codice dell'intera pagina (non l'ho fatto in quanto è troppo lungo).

    Grazie, ciao.

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    if Str(page) = Str(pag then
    Roby

  3. #3
    grazie Roby per la tua risposta, ma mi da quest'errore


    Microsoft VBScript runtime error '800a000d'

    Type mismatch: 'str'


    la parentesi l'ho chiusa:
    if Str(page) = Str(pag) then

    Grazie, ciao.

  4. #4
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    if CStr(page) = CStr(pag) then
    Tutti vogliono parlare, nessuno sa ascoltare.

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Si giusto avevo dimenticato la C

    Roby

  6. #6
    thnx, adesso va!

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.