Pagina 3 di 5 primaprima 1 2 3 4 5 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 42

Discussione: paginazione

  1. #21
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488
    Si, solo che se confronti il codice che mi avevi mandato con quello attuale ci sono alcune piccole correzioni :

    <%
    RecordsPerPagina = 5
    page = Request("page")
    if page="" then page=1
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = d:\inetpub\webs\....\fpdb\CED.mdb")
    Set objRs = Server.CreateObject("ADODB.Recordset")
    strSQL=("SELECT IDCliente,[Cognome e Nome],Indirizzo from Anag_Clienti ORDER BY [Cognome e Nome]")
    'apri recordset con valore 1,3
    objRs.open strSQL, objConn, 1,3
    'paginazione
    objRs.PageSize = RecordsPerPagina
    objRs.AbsolutePage = page
    If objRs.Eof=True or objRs.Bof=True then
    Response.Write "

    Nessun risultato trovato</P>"
    Else
    response.Write("<table><tr><td></td><td><font size=""4"">Cognome e Nome</font></td><td><font size=""4"">Indirizzo</font></td></tr>")
    For i=1 to RecordsPerPagina
    if Not objRs.EOF then
    'mostra record
    %>
    <tr>
    <td align="left" bgcolor="#FFFFFF"><font size="3">
    <%response.write (""& objRs("IDCliente") &"")%>
    </td>
    <td align="left" bgcolor="#FFFFFF"><font size="3">
    <%response.write objRs("Cognome e Nome")%></td>
    <td align="left" bgcolor="#FFFFFF"><font size="3">
    <%response.write objRs("Indirizzo")%>
    </td>
    </tr>
    <%
    objRs.Movenext
    End if
    Next
    response.Write("</table>")
    End if
    Response.Write "

    Pagine:"
    For pag=1 to objRs.PageCount
    Response.Write "<A href='Paginazione.asp?page=" & pag & "'>"
    Response.Write pag
    Response.Write "</A>"
    Next
    Response.Write "</P>"
    objRs.Close
    Set objRs = Nothing
    objConn.Close
    Set objConn = Nothing
    %>

    Adesso però devo capire come utilizzare questo metodo per fare un'altra cosa e cioè :

    ciascun record ha la voce "IDCliente" che apre una certa pagina "X";
    Aperta la pagina "X" vorrei poter andare alla pagina del record successivo o precedente senza dover tornare all'elenco generico, sempre attraverso dei pulsanti di spostamento.

    ?

  2. #22
    Utente di HTML.it L'avatar di iceblu
    Registrato dal
    Jun 2006
    Messaggi
    246
    due idee.

    1) Fai un ciclo per ogni risultato salvandoti tutti gli ID in una stringa che poi la salva in un cookie

    Es.

    While Not Rs.EOF
    sIDRes = sIDRes & Rs("ID")
    Rs.movenext
    If Not Rs.EOF then sIDRes = sIDRes & "@"
    WEnd

    Response.Cookies("res")=sIDRes
    Poi vai a farti di nuovo il ciclo ma degli ID che hai nel cookie e cosi ottieni il risultato sperato

  3. #23
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488
    VVoVe:

    Scusa ma non credo di aver capito nulla!
    Il codice che suggerisci andrebbe nella pagina "X" che apro, giusto? ma in particolare dove e come?


    Ti faccio vedere il codice delle pagine che apro :

    <%
    id = trim(request.querystring("id"))
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = d:\inetpub\webs\....\fpdb\CED.mdb")
    Set objRs = Server.CreateObject("ADODB.Recordset")
    set objRs = objConn.Execute("SELECT Anag_Clienti.[IDCliente], Anag_Clienti.[Cognome e Nome], App_ora.[Data Appunt], App_ora.Ora, App_ora.Descrizione FROM Anag_Clienti RIGHT JOIN App_ora ON Anag_Clienti.IDCliente = App_ora.IDCliente WHERE Anag_Clienti.[IDCliente]="& id)
    precedente=""
    while NOT objRs.EOF
    if precedente<>objRs("IDCliente") then
    %>
    <table border="1">
    <tr>
    <td>ID</td>
    <td>Cognome e Nome</td>
    </tr>
    <tr>
    <td><%=objRs("IDCliente")%></td>
    <td><%=objRs("Cognome e Nome")%></td>
    </tr>
    <%
    precedente=objRs("IDCliente")
    end if
    %>
    <tr>
    <td align="left"></td>
    <td align="left">Data</td>
    <td align="left">Ora</td>
    <td align="left">Descrizione</td>
    </tr>
    <tr>
    <td></td>
    <td align="left"><%=objRs("Data Appunt")%></td>
    <td align="left"><%=objRs("Ora")%></td>
    <td align="left"><%=objRs("Descrizione")%></td>
    </tr>
    <%
    objRs.Movenext
    wend
    objRs.Close
    Set objRs = Nothing
    objConn.Close
    Set objConn = Nothing
    %>
    </table>

  4. #24
    Utente di HTML.it L'avatar di iceblu
    Registrato dal
    Jun 2006
    Messaggi
    246
    Non te le posso fare io, è un po lunghetto...

    ti ho spiegato come dovrebbe essere, mi spiace non aiutarti ma non posso.

    La seconda idea poi l'ho scartata ecco perché non l'ho scritta


    Nella pagina dei risultati devi salvarti tutti gli ID

    Fai un ciclo per ogni risultato salvandoti tutti gli ID in una stringa che poi la salva in un cookie

    Es.

    While Not Rs.EOF
    sIDRes = sIDRes & Rs("ID")
    Rs.movenext
    If Not Rs.EOF then sIDRes = sIDRes & "@"
    WEnd

    Response.Cookies("res")=sIDRes

    Poi nella pagina X quella del dettaglio del risultato vai a farti di nuovo il ciclo ma degli ID che hai nel cookie, nel ciclo ti controlli se l'id che hai in quel momento è lo stesso della pagina attuale e cosi ti prendi il precedente e il successivo per farti i link.

  5. #25
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488
    Allora il primo passo credo di averlo fatto correttamente, in quanto le pagine non danno errore; adesso dovrei provare la seconda parte ma non capisco che significa :

    "Poi nella pagina X quella del dettaglio del risultato vai a farti di nuovo il ciclo ma degli ID che hai nel cookie, nel ciclo ti controlli se l'id che hai in quel momento è lo stesso della pagina attuale e cosi ti prendi il precedente e il successivo per farti i link".

  6. #26
    Utente di HTML.it L'avatar di iceblu
    Registrato dal
    Jun 2006
    Messaggi
    246
    Esempio

    il cookie è qlc di simile a questo

    1@4@7@9

    dove i numeri sono i tuoi id....ok?

    se hai cliccato sul risultato e sei andato alla pagina id= 4. vorra dire che devi ciclare in quella pagina cercando id attuale (4) nel cookie

    arrCookie = Split(request.Cookies("res"),"@") 'creo array
    Codice PHP:
    For 0 to uBound(arrCookie)
        if 
    arrCookie(i) = ID then   'ID è 4 abbiamo detto 
           IDPrecedente = arrCookie(i-1)
           IDSuccessivo = arrCookie(i+1)
          Exit For
       End if
    Next 
    Occhio che devi controllare che non sia all'inizia e alla fine dell'array altrimenti errore!!

  7. #27
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488
    Allora, l'ultimo codice si riferisce alla parte in cui dici :

    "....vai a farti di nuovo il ciclo ma degli ID che hai nel cookie, nel ciclo ti controlli se l'id che hai in quel momento è lo stesso della pagina attuale...." ?

    Se si l'ho inserito e non ho nessun errore; per cui dovrei fare la parte in cui dici :

    "...ti prendi il precedente e il successivo per farti i link"

    ?

  8. #28
    Utente di HTML.it L'avatar di iceblu
    Registrato dal
    Jun 2006
    Messaggi
    246
    Che sono già utilizzati:
    IDPrecedente e IDSuccessivo

    Ti torna?

  9. #29
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488
    Non proprio, ho provato a inserire questo :

    Response.Write "<A href='Paginazione2.asp?id=" & IDPrecedente & "'>"
    Response.Write IDPrecedente
    Response.Write "</A>"

    ma non ho alcun risultato, nel senso che la pagina non mi da errore ma neanche alcun link

    ?

  10. #30
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488
    Allora, ricapitolando, io ho la pagina in cui ho l'elenco dei record con la "sudata" paginazione con questo codice :

    <%
    RecordsPerPagina = 5
    page = Request("page")
    if page="" then page=1
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = d:\inetpub\webs\.....\fpdb\CED.mdb")
    Set objRs = Server.CreateObject("ADODB.Recordset")
    strSQL=("SELECT IDCliente,[Cognome e Nome],Indirizzo from Anag_Clienti ORDER BY [Cognome e Nome]")
    'apri recordset con valore 1,3
    objRs.open strSQL, objConn, 1,3
    'paginazione
    objRs.PageSize = RecordsPerPagina
    objRs.AbsolutePage = page
    If objRs.Eof=True or objRs.Bof=True then
    Response.Write "

    Nessun risultato trovato</P>"
    Else
    response.Write("<table><tr><td></td><td><font size=""4"">Cognome e Nome</font></td><td><font size=""4"">Indirizzo</font></td></tr>")
    For i=1 to RecordsPerPagina
    if Not objRs.EOF then
    'mostra record
    %>
    <tr>
    <td align="left" bgcolor="#FFFFFF"><font size="3">
    <%response.write (""& objRs("IDCliente") &"")%>
    </td>
    <td align="left" bgcolor="#FFFFFF"><font size="3">
    <%response.write objRs("Cognome e Nome")%></td>
    <td align="left" bgcolor="#FFFFFF"><font size="3">
    <%response.write objRs("Indirizzo")%>
    </td>
    </tr>
    <%
    objRs.Movenext
    End if
    Next
    response.Write("</table>")
    End if
    Response.Write "

    Pagine:"
    For pag=1 to objRs.PageCount
    Response.Write ("-")&"<A href='Paginazione2.asp?page=" & pag & "'>"
    Response.Write pag
    Response.Write "</A>"
    Next
    Response.Write "</P>"
    %>
    <%
    While Not objRs.EOF
    sIDRes = sIDRes & objRs("IDCliente")
    objRs.movenext
    If Not objRs.EOF then sIDRes = sIDRes & "@"
    Wend
    Response.Cookies("res")=sIDRes
    %>
    <%
    objRs.Close
    Set objRs = Nothing
    objConn.Close
    Set objConn = Nothing
    %>


    mentre le pagine che si aprono cliccando sugli id hanno questo codice :

    <%
    id = trim(request.querystring("id"))
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = d:\inetpub\webs\.....\fpdb\CED.mdb")
    Set objRs = Server.CreateObject("ADODB.Recordset")
    set objRs = objConn.Execute("SELECT Anag_Clienti.[IDCliente], Anag_Clienti.[Cognome e Nome], App_ora.[Data Appunt], App_ora.Ora, App_ora.Descrizione FROM Anag_Clienti RIGHT JOIN App_ora ON Anag_Clienti.IDCliente = App_ora.IDCliente WHERE Anag_Clienti.[IDCliente]="& id)
    precedente=""
    while NOT objRs.EOF
    if precedente<>objRs("IDCliente") then
    %>
    <table border="1">
    <tr>
    <td>ID</td>
    <td>Cognome e Nome</td>
    </tr>
    <tr>
    <td><%=objRs("IDCliente")%></td>
    <td><%=objRs("Cognome e Nome")%></td>
    </tr>
    <%
    precedente=objRs("IDCliente")
    end if
    %>
    <tr>
    <td align="left"></td>
    <td align="left">Data</td>
    <td align="left">Ora</td>
    <td align="left">Descrizione</td>
    </tr>
    <tr>
    <td></td>
    <td align="left"><%=objRs("Data Appunt")%></td>
    <td align="left"><%=objRs("Ora")%></td>
    <td align="left"><%=objRs("Descrizione")%></td>
    </tr>
    <%
    objRs.Movenext
    wend
    %>
    <%
    arrCookie = Split(request.Cookies("res"),"@")
    For i = 0 to uBound(arrCookie)
    if arrCookie(i) = IDCliente then
    IDPrecedente = arrCookie(i-1)
    IDSuccessivo = arrCookie(i+1)
    Exit For
    End if
    Next
    Response.Write "<A href='Paginazione2.asp?id=" & IDPrecedente & "'>"
    Response.Write IDPrecedente
    Response.Write "</A>"
    %>
    <%
    objRs.Close
    Set objRs = Nothing
    objConn.Close
    Set objConn = Nothing
    %>

    Perchè in quest'ultimo codice non riesco a creare i link alle pagine dei record successivi/precedenti?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.