Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Scorrimento immagini

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    263

    Scorrimento immagini

    Ciao a tutti.
    Come dice il subject dovrei scorrere delle immagini con due cursori (precedente e successiva), ma con un vincolo: la prima immagine visualizzata viene trovata attraverso l'id che passo alla procedura e con i cursori mi devo muovere tra le immagini appartenenti alla categoria di appartenenza.
    Il codice che vi posto so già che è sbagliato, ma il principio è che vorrei associare ai due href finali un'azione movenext e moveprevious.

    Qualcuno può darmi una mano ?



    <%

    id=Request("id")
    category=Request("category")
    dim url_DB
    url_DB = "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath(percorsoDB)
    dim Conn
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open url_DB
    Set RS = Server.CreateObject("ADODB.Recordset")
    SQL = "SELECT * FROM Foto Where ID = " & id &" and categoria = '" & category & "' "
    RS.Open sql, Conn, adOpenStatic, adLockOptimistic

    if not RS.eof then
    pathFoto=percorsoPhoto&"Foto_"&Cstr(RS("id"))&".jp g"
    Dim objFSO
    Set objFSO=server.CreateObject("scripting.filesystemob ject")
    %>
    <table >
    <tr>
    <td>[img]<%=pathFoto%>[/img]</td>
    </tr>
    </table>
    <table>
    <tr>
    <td ><div id="menuFoto">
    [ < ]
    [ > ]
    </td>
    </div>
    </tr>
    </table>



    <%
    set objFSO=nothing
    end if
    %>
    </body>
    </html>

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    263
    Sto diventando matto
    Nella mia inesperienza penso di essere ad un passo dalla soluzione, ma non riesco a trovarla.
    Ho modificato leggermente il codice. Penso che la chiave sia ottenere, ma non so come, da RS.movenext e RS.moveprevious l'id del record successivo e precedente, ma non funziona.
    La mia domanda è: c'è un'istruzione che mi permette di ottenere da RS.movenext l'id del record successivo ?
    Dimenticavo: la pagina si chiama display_photo.asp e richiama se stessa.



    <%

    id=Request("id")
    cat=Request("cat")
    dim url_DB
    url_DB = "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath(percorsoDB)
    dim Conn
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open url_DB
    Set RS = Server.CreateObject("ADODB.Recordset")
    SQL = "SELECT * FROM Foto Where ID = " & id &" and categoria = '" & cat & "'"
    RS.Open sql, Conn, adOpenStatic, adLockOptimistic


    if not RS.eof then
    pathFoto=percorsoPhoto&"Foto_"&Cstr(RS("id"))&".jp g"
    Dim objFSO
    Set objFSO=server.CreateObject("scripting.filesystemob ject")

    id_succ=RS.movenext
    id_prec=RS.moveprevious


    %>
    <table >
    <tr>
    <td>[img]<%=pathFoto%>[/img]</td>
    </tr>
    </table>
    <table>
    <tr>
    <td ><div id="menuFoto">
    [ < ]
    [ > ]
    </td>
    </div>
    </tr>
    </table>



    <%
    set objFSO=nothing
    end if
    %>
    </body>
    </html>

  3. #3
    usando questa query:

    codice:
    SQL = "SELECT * FROM Foto Where ID = " & id &" and categoria = '" & cat & "'"
    la risposta è no o meglio:

    se vuoi usare movenext e moveprevious dovresti fare una select generica (senza la clausola sull'id), spostarti all'id che devi visualizzare e poi li fare il movenext e moveprevious...un pò un casino...

    oppure fai un'altra query (se id è contatore):
    codice:
    SQL="select (select top 1 id from Foto where id<" & id & " and categoria='" & cat & "' order by id asc) as precedente, (select top 1 id from Foto where id>" & id & " and categoria='" & cat & "' order by id asc) as successivo, Foto.* from Foto where id=" & id & " and categoria='" & cat & "'"
    
    RS.Open sql, Conn, adOpenStatic, adLockOptimistic
    
    
    ....
    
    precedente=rs("precedente")
    successivo=rs("successivo")
    guarda un pò se funge

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    263
    Grazie Santino, ma solo ora riesco a provare.
    Funziona a metà nel senso che il successivo è ok, ma quando selezioni precedente mi si posiziona sempre sulla prima.
    Il problema è che non ho mai visto una query così complicata: non so neanche da che parte cominciare per sistemarla.
    Se hai qualche suggerimento te ne sarei grato, altrimenti la notte è lunga....

    Comunque grazie dell'aiuto; non ci sarei mai arrivato da solo e sicuramente è un bel passo in avanti rispetto a quanto avevo realizzato.

    Marco

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    263
    Santino/Mandrake, tutto ok !!!!
    E' bastato un order by desc (anzichè asc) per precedente e tutto funziona.
    Ho solo un quesito: ma dove cavolo sei andato a trovare quella query ? dove te la sei sognata ?
    mah....
    Ri-grazie infinite.

    Marco

  6. #6
    Originariamente inviato da marviv
    Santino/Mandrake, tutto ok !!!!
    E' bastato un order by desc (anzichè asc) per precedente e tutto funziona.
    Ho solo un quesito: ma dove cavolo sei andato a trovare quella query ? dove te la sei sognata ?
    mah....
    Ri-grazie infinite.

    Marco
    si scusami mi ero sbagliato a scrivere il precedente.... dove l'ho pescata? boh, l'ho inventata

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.