• User Newbie

    ASP Su quale record ho cliccato ?

    Ciao a tutti.

    Ho un problema con ASP e spero che mi possiate aiutare.

    Ho creato un sito che si appoggia ad un database di access, quando apro la pagina maschi.asp il programma mi estrae tutti i record che soddisfano una certa condizione, me li dispone all'interno di una tabella, a questo punto per ogni riga che mi appare io ho un campo link sul quale cliccando vengo mandato ad una altra pagina dove farò visualizzare i dettagli inerenti quel record.

    Qui iniziano i problemi, io vorrei passare all'altra pagina due campi, però 1° nel momento in cui clicco sul link non riesco a fargli capire su quale record mi trovo e 2° non so come fare a dirgli che quando ho cliccato su quel campo deve aprire la pagina successiva.

    Ecco il codice :

    dim nome, eta, stato, sesso, luogo, regione, link, foto, referente, scheda_foto, appello, adottato, urgenza

    Set Conn=Server.CreateObject("ADODB.Connection")
    strConn="driver={Microsoft Access Driver (*.mdb)}; "
    strConn=strConn & " DBQ=" & Server.MapPath("mdb-database/Maremmano.mdb")
    strConn=strConn & ";pwd=" & strCode
    Conn.Open strConn
    sql = "SELECT * FROM CANI WHERE SESSO='MASCHIO' and ADOTTATO=false"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3
    do while not(rs.eof)
    nome=rs("nome")
    eta=rs("eta")
    sesso=rs("sesso")
    luogo=rs("luogo")
    regione=rs("regione")
    link=rs("link")
    foto=rs("foto")
    scheda_foto=rs("scheda_foto")
    appello=rs("appello")

    if intVolta="1" then
    intVolta="0"
    intTesto="#00FF99"
    intSfondo="#FFFF00"
    else
    intVolta="1"
    intTesto="#FFFF99"
    intSfondo="#33CCFF"
    end if
    %>
    <TR bgcolor="<%=intSfondo%>">

    <TD width="14%"><div align="center"><%=nome%></div></TD>
    <TD width="14%"><div align="center"><%=eta%></div></TD>
    <TD width="14%"><div align="center"><%=sesso%></div></TD>
    <TD width="14%"><div align="center"><%=luogo%></div></TD>
    <TD width="14%"><div align="center"><%=regione%></div></TD>
    <TD width="14%"><div align="center"><%=link%></div></TD>
    <TD width="14%"><div align="center"><%=foto%></div></TD>
    </TR>

    <%
    rs.movenext
    loop
    rs.Close
    set rs = Nothing
    conn.Close
    set conn = Nothing
    %>
    </TABLE>

    Spero di essermi spiegato e ringrazio in anticipo chiunque vorrà darmi una mano.

    Fausto


  • User

    if intVolta="1" then
    intVolta="0"
    intTesto="#00FF99"
    intSfondo="#FFFF00"
    else
    intVolta="1"
    intTesto="#FFFF99"
    intSfondo="#33CCFF"
    end if

    dove sono le dichiarazioni di queste variabili ? nel codice che hai postato non le vedo....

    rs.movenext
    loop
    rs.Close
    set rs = Nothing
    conn.Close
    set conn = Nothing

    NOn riesco a capire bene cosa vuoi fare con questa porzione di codice.....secondo me manca qualcosa...potresti spiegarmi qual'è il tuo intento ? così riesco a darti una mano 🙂

    Infine...stai usando le master page ? In questo modo saresti molto più comodo 🙂


  • User Newbie

    Ciao.

    Grazie per aver risposto.

    Allora il codice completo è il seguente :

    dim strCode
    strCode="innovatel"
    dim intVolta
    intVolta="0"
    dim nome, eta, stato, sesso, luogo, regione, link, foto, referente, scheda_foto, appello, adottato, urgenza

    Set Conn=Server.CreateObject("ADODB.Connection")
    strConn="driver={Microsoft Access Driver (*.mdb)}; "
    strConn=strConn & " DBQ=" & Server.MapPath("mdb-database/Maremmano.mdb")
    strConn=strConn & ";pwd=" & strCode
    Conn.Open strConn
    sql = "SELECT * FROM CANI WHERE SESSO='MASCHIO' and ADOTTATO=false"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3
    do while not(rs.eof)
    nome=rs("nome")
    eta=rs("eta")
    sesso=rs("sesso")
    luogo=rs("luogo")
    regione=rs("regione")
    link=rs("link")
    foto=rs("foto")
    scheda_foto=rs("scheda_foto")
    appello=rs("appello")

    if intVolta="1" then
    intVolta="0"
    intTesto="#00FF99"
    intSfondo="#FFFF00"
    else
    intVolta="1"
    intTesto="#FFFF99"
    intSfondo="#33CCFF"
    end if
    %>
    <TR bgcolor="<%=intSfondo%>">

    <TD width="14%"><div align="center"><%=nome%></div></TD>
    <TD width="14%"><div align="center"><%=eta%></div></TD>
    <TD width="14%"><div align="center"><%=sesso%></div></TD>
    <TD width="14%"><div align="center"><%=luogo%></div></TD>
    <TD width="14%"><div align="center"><%=regione%></div></TD>
    <TD width="14%"><div align="center"><%=link%></div></TD>
    <TD width="14%"><div align="center"><%=foto%></div></TD>
    </TR>

    <%
    rs.movenext
    loop
    rs.Close
    set rs = Nothing
    conn.Close
    set conn = Nothing
    %>
    </TABLE>

    </td>
    

    </tr>
    </tbody></table>
    <p> </p>
    </body></html>

    Da quello che mi hanno detto tramite questa istruzione : <a href="scheda.asp?id=<%= rs("ID") %>&foto=si">Vedi i dettagli</a>
    io posso passare 1 o + campi e tramite questa altra :
    Dim id
    id = Int(Request.QueryString("id"))
    dovrei poter ricevere i valori passati, correggimi se sbaglio.

    Però a questo punto mi chiedo : nella 1° pagina dove posiziono il comando href visto che il campo su cui si clicca viene preso da un database di access ?


  • User

    Ciao se riesci ad attendere un pò domani ti do la soluzione giusta ora purtroppo sono un pò di corsa 🙂 domaniq guardo il tuo codice con calma e ti spiego bene 🙂


  • User Newbie

    Ciao.

    Grazie di avermi risposto, cmq ho risolto :smile5:

    Ho messo in pratica i suggerimenti di un ragazzo ed adesso funziona.

    Grazie lo stesso.

    Fausto.


  • User

    Ah ok perfetto 🙂 Stavo giusto guardandolo ora ^^