• User

    visualizzare le ultime 5 immagini

    Rieccomi, non mi sono fatto attendere molto, perdonatemi ma
    risolto un problema si è subito presentato un'altro.

    Sto costruendo una pagina che estrae delle immagini che vengono inserite nella cartella public , vorrei visualizzare solo le ultime cinque.
    So che utilizzando "Select Top 5" posso vedere le prime come fare a vedere le ultime?
    Ecco il codice della pagina

    <%
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=" & Server.Mappath("/mdb-database/db.mdb")
    objConn.Open
    %>
    <%
    a_strSQL = "Select * From news where Data ORDER by Data desc"
    Set catRS = Server.CreateObject ("ADODB.Recordset")
    catRS.Open a_strSQL, objConn
    %>
    <html>
    <head>
    <title></title>
    </head>
    <body>
    <%
    Do While Not catRS.EOF
    dim file2
    ID = catRs ("ID")
    file2 = catRS ("file2")
    %>
    <a href="<%=file2%>">
    <img src="<%=file2%>" width="50" height="50">
    </a>
    </body>
    </html>
    <%
    catRS.MoveNext
    Loop
    catRS.close
    set catRS=Nothing
    %>

    in attesa auguro una buona serata a tutti.


  • User

    Ciao, nel tentivo di risolvere da solo ho modificato così una porzione di codice:
    da
    <%
    a_strSQL = "Select * From news where Data ORDER by Data desc"
    Set catRS = Server.CreateObject ("ADODB.Recordset")
    catRS.Open a_strSQL, objConn
    %>

    a
    <%
    a_strSQL = "Select * From news where Data ORDER by Data desc"
    Set catRS = Server.CreateObject ("ADODB.Recordset")
    catRS.Open a_strSQL, objConn
    i=0
    do until i=5 or catRS.EOF
    i=i+1
    %>

    adesso ho questo errore:
    Microsoft VBScript compilation error '800a03fb'
    Expected 'Loop'

    la riga a cui si riferisce è:
    set catRS=Nothing

    si può risolvere?
    Buonaserata


  • ModSenior

    Sbaglio o vedo solo un do until i=5 or catRS.EOF? Manca il terminatore di ciclo.
    Appunto la parola Loop.
    All'interno va inserito il codice che deve essere "ciclato".


  • User

    E' alla fine della pagina:

    <%
    catRS.MoveNext
    Loop
    catRS.close
    set catRS=Nothing
    %>

    dove devo inserirlo?
    Ciao e grazie


  • User

    Buonasera, un riepilogo.
    Con il nuovo codice ho eliminato l'errore sul loop, adesso la pagina si apre, mostra però solo l'ultima immagine, dove sbaglio visto che vorrei visualizzare le ultime cinque?

    <%
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)};" & "DBQ=" & Server.Mappath("/mdb-database/db.mdb")
    objConn.Open
    %>
    <%
    a_strSQL = "Select * From news where DataPost ORDER by DataPost desc"
    Set catRS = Server.CreateObject ("ADODB.Recordset")
    catRS.Open a_strSQL, objConn
    %>
    <html>
    <head>
    <title></title>
    </head>
    <body>
    <%
    %>
    <%
    'Mostra le prime 5 News
    i=0
    do until i=5 or catRS.EOF
    i=i+1
    dim file2
    ID = catRs ("ID")
    file2 = catRS ("file2")
    catRS.movenext
    Loop
    %>
    <img src="z<=file2%>">
    </a>
    </body>
    </html>
    <%
    catRS.close
    set catRS=Nothing
    %>


  • User

    Finalmente adesso è ok, solo una svista.
    A beneficio di chi leggerà la discussione, per la visualizzazione delle immagini bisogna spostare solo "loop" alla fine della pagina.
    Ecco la porzione di codice interessata:

    <%
    i=0
    do until i=5 or catRS.EOF
    i=i+1
    dim file2
    ID = catRs ("ID")
    file2 = catRS ("file2")
    catRS.movenext
    %>
    <img src="z<=file2%>">
    </a>
    </body>
    </html>
    <%
    Loop
    catRS.close
    set catRS=Nothing
    %>

    ciao


  • User Attivo

    @vatuss said:

    Finalmente adesso è ok, solo una svista.
    <%
    i=0
    do until i=5 or catRS.EOF
    i=i+1
    dim file2
    ID = catRs ("ID")
    file2 = catRS ("file2")
    catRS.movenext
    %>
    <img src="z<=file2%>">
    </a>
    </body>
    </html>
    <%
    Loop
    catRS.close
    set catRS=Nothing
    %>

    ciao

    Loop non va spostato alla fine della pagina ma alla fine del pezzo da ciclare.
    Nel tuo caso stai replicando i tag di chiusura body e html per 5 volte.
    Devi mettere fuori dal ciclo quei tag (apri l'html e controlla)


  • User

    ciao FuSioNmAn, sono alle prime armi e sicuramente il codice è migliorabile.
    La pagina funziona ho controllato l'html e mostra le cinque immagini inserite in ordine di data.
    Nello spirito dei forum, credendo di aver trovato la soluzione ho postato il risultato, se non va bene si può anche eliminare.

    ciao
    **


  • User Attivo

    Modifica così:

    
    <%
    i=0
    do until i=5 or catRS.EOF
    i=i+1
    dim file2
    ID = catRs ("ID")
    file2 = catRS ("file2")
    catRS.movenext
    %>
    <a href="tuopercorso">
    <img src="z<=file2%>">
    </a>
    <%
    Loop
    catRS.close
    set catRS=Nothing
    %>
    
    <!--Questo va fuori dal ciclo-->
    </body>
    </html>
    
    

  • User

    Scusa la mia ignoranza non avevo capito, ho provveduto a fare la modifica.
    ciao e grazie


  • User

    Buonasera.
    Rispolvero questa discussione per sapere se le immagini estratte possono essere visualizzate utilizzando slideshow, magari con effetto fade.
    Ho cercato uno script ma non sono riuscito a trovare nulla.
    Grazie.

    ps. se necessario apro un nuovo post