Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Problemi con paginazione ASP e database

    Ciao a tutti1

    Ho un problema e non riesco a venirne a capo...il problema è piuttosto strano ovvero devo paginare dei dati e con il mio script mi si paginano correttament sulla prima pagina mentre nelle seguenti non appare nessun risultato...cosa altrettanto insolita è che comunque crea le pagine seguenti per i risultati ma sono assolutamente vuote!

    Vi allego il codice cosi avete un'idea! :rollo: Io sono giorni ma nn ne riesco a venire a capo!

    <%@LANGUAGE = VBScript%>

    <%
    ' DEFINISCO LE VARIABILI CHE MI SERVONO PER L'APPLICAZIONE
    Dim cn, rs, quanti, pag, contatore


    ' Creo un'istanza per la connessione ed una per il Recordset
    Set cn = Server.CreateObject("ADODB.Connection")
    Set rs = Server.CreateObject("ADODB.Recordset")

    ' APRO LA CONNESSIONE COL DATABASE
    cn.Open str_cn

    ' DEFINISCO IL NUMERO DI RECORD DA VISUALIZZARE PER OGNI PAGINA
    quanti = 1

    ' RECUPERO IL NUMERO DI PAGINA CORRENTE
    ' E CONTROLLO CHE NON SIA INFERIORE A 1
    pag = Request.QueryString("pag")
    If IsNumeric(pag) = False Or pag < 1 Then pag = 1

    ' IMPOSTO UN CONTATORE
    contatore = 0
    %>
    <html>
    <head>
    <title>Paginazione dei risultati di query molto lunghe in ASP</title>
    <style>a { color: blue; }</style>
    </head>
    <body>

    <table align="center" width="300" border="1">
    <%
    Dim SQL ' Creo la query SQL
    SQL = "SELECT * FROM dati"
    ' EFFETTUO MATERIALMENTE LA PAGINAZIONE
    rs.Open sql, cn, 3,3
    rs.AbsolutePage = pag
    rs.PageSize = quanti

    ' ESEGUO IL CICLO
    While rs.EOF = False And contatore < quanti
    %>
    <tr><td><%=rs("nome")%></td></tr>
    <%
    rs.MoveNext
    ' INCREMENTO IL VALORE DEL CONTATORE
    contatore = contatore + 1
    Wend
    %>
    </table>


    Vi ringrazio per l'aiuto! Un saluto! Alex

  2. #2
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Cambia script, cerca sul forum per paginazione roby72.
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  3. #3
    perche dovrei cambiare script???

  4. #4
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Originariamente inviato da alexroma
    perche dovrei cambiare script???
    Perchè quello di roby funziona ed è testato ed il tuo no.
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  5. #5
    Eh lo so! L hai usato anche te! Ma non è quello il punto...il fatto è che vorrei capire dove sbaglio.. Perche a me sembra corretto...se cè qualcuno che capisce un po di asp sicuramente l'errore lo trova subito...io purtroppo devo fare questo semplice script pur non sapendo molto su asp! Cmq questo portale è fatto davvero bene ci sono parecchie risorse Complimenti

  6. #6
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Bé contento tu:

    codice:
    <%@LANGUAGE = VBScript%>
    
    <%
    ' DEFINISCO LE VARIABILI CHE MI SERVONO PER L'APPLICAZIONE
    Dim cn, rs, quanti, pag, contatore
    
    ' Creo un'istanza per la connessione ed una per il Recordset
    Set cn = Server.CreateObject("ADODB.Connection")
    Set rs = Server.CreateObject("ADODB.Recordset")
    
    ' APRO LA CONNESSIONE COL DATABASE
    cn.Open str_cn
    
    ' DEFINISCO IL NUMERO DI RECORD DA VISUALIZZARE PER OGNI PAGINA
    RecordsXPagina = 6
    
    ' RECUPERO IL NUMERO DI PAGINA CORRENTE
    ' E CONTROLLO CHE NON SIA INFERIORE A 1
    
    If Request.QueryString("pagina") = "" Then
      pagina = 1
    Else
      pagina = CInt(Request.QueryString("pagina"))
    End If
    
    ' IMPOSTO UN CONTATORE
    contatore = 0
    %>
    <html>
    <head>
    <title>Paginazione dei risultati di query molto lunghe in ASP</title>
    <style>a { color: blue; }</style>
    </head>
    <body>
    
    <table align="center" width="300" border="1">
    <%
    Dim SQL ' Creo la query SQL
    SQL = "SELECT * FROM dati"
    ' EFFETTUO MATERIALMENTE LA PAGINAZIONE
    rs.Open sql, cn, 3,3
    
    if not RS.eof then
    
    RS.PageSize = RecordsXPagina
    RS.AbsolutePage = pagina
    
    For i = 1 to RecordsXPagina
    if not RS.eof then
    %>
    <tr><td><%=rs("nome")%></td></tr>
    <%
    
    RS.movenext
    ' INCREMENTO IL VALORE DEL CONTATORE
    contatore = contatore + 1
    end if
    next
    
    
    Response.Write "
    Numero Pagine: "
      For pagina = 1 to RS.PageCount
      Response.Write "<A href='"&istring&"?pagina=" & pagina
      Response.write "'>"
      Response.write "<font size=1 color=#000080>"
      Response.Write pagina
      Response.Write "</A> " 
    Next
    Response.Write ">>
    
    </td></tr>"	
    
    rs.Close
    Set rs = Nothing
    Cn.Close
    Set Cn = Nothing
    end if
    
    %>
    </table>
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  7. #7
    Questa nn l ho capita...

  8. #8
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Originariamente inviato da alexroma
    Questa nn l ho capita...
    Cosa non hai capito?
    Che nel tuo script manca la possibilità di scorrere nelle pagine?
    Hai provato lo script modificato?
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  9. #9
    AZZ...non avevo capito che l avevi modificato.....lo provo subito e ti faccio sapere!!Sorry!



    ----aggiunta ore 11.42

    Minkia amico mio funziona alla grande.....!! Mi spieghi brevemente cosa hai cambiato?? Grazie 10000

  10. #10
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    codice:
    <%@LANGUAGE = VBScript%>
    
    <%
    ' DEFINISCO LE VARIABILI CHE MI SERVONO PER L'APPLICAZIONE
    Dim cn, rs, quanti, pag, contatore
    
    ' Creo un'istanza per la connessione ed una per il Recordset
    Set cn = Server.CreateObject("ADODB.Connection")
    Set rs = Server.CreateObject("ADODB.Recordset")
    
    ' APRO LA CONNESSIONE COL DATABASE
    cn.Open str_cn
    
    ' DEFINISCO IL NUMERO DI RECORD DA VISUALIZZARE PER OGNI PAGINA
    RecordsXPagina = 6   
    
    ' RECUPERO IL NUMERO DI PAGINA CORRENTE
    ' E CONTROLLO CHE NON SIA INFERIORE A 1
    
    If Request.QueryString("pagina") = "" Then
      pagina = 1
    Else
      pagina = CInt(Request.QueryString("pagina"))
    End If   
    
    ' IMPOSTO UN CONTATORE
    contatore = 0
    %>
    <html>
    <head>
    <title>Paginazione dei risultati di query molto lunghe in ASP</title>
    <style>a { color: blue; }</style>
    </head>
    <body>
    
    <table align="center" width="300" border="1">
    <%
    Dim SQL ' Creo la query SQL
    SQL = "SELECT * FROM dati"
    
    ' EFFETTUO MATERIALMENTE LA PAGINAZIONE
    rs.Open sql, cn, 3,3
    
    'PRIMO CICLO DI CONTROLLO ESISTENZA RS
    if not RS.eof then   
    
    RS.PageSize = RecordsXPagina
    RS.AbsolutePage = pagina   
    
    
    
    'CICLO PER PAGINAZIONE
    For i = 1 to RecordsXPagina
    
    'SECONDO CICLO DI CONTROLLO ESISTENZA RS
    'PER EVITARE CHE SE ALL'ULTIMA PAGINA HA RECORDS MINORI DI RECORDSXPAGINA
    'VADA IN ERRORE
    if not RS.eof then   
    %>
    <tr><td><%=rs("nome")%> </td></tr>
    <%
    
    RS.movenext
    ' INCREMENTO IL VALORE DEL CONTATORE
    contatore = contatore + 1
    end if
    next   
    
    
    'PAGINAZIONE VERA E PROPRIA
    Response.Write "
    Numero Pagine: "
      For pagina = 1 to RS.PageCount
      Response.Write "<A href='"&istring&"?pagina=" & pagina
      Response.write "'>"
      Response.write "<font size=1 color=#000080>"
      Response.Write pagina
      Response.Write "</A> " 
    Next
    Response.Write ">>
    
    </td></tr>"	
    
    'CHIUSURA E DISTRUZIONE RECORDSET
    rs.Close
    Set rs = Nothing
    
    'CHIUSURA E DISTRUZIONE CONNESSIONE AL DB
    Cn.Close
    Set Cn = Nothing
    end if   
    
    %>
    </table>
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

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.