• User

    collegare i risultati di un database

    buonasera a tutti.
    Avrei bisogno del vostro aiuto per risolvere un problema.
    Utilizzando uno script, ho costruito una pagina asp con delle select che vengono popolate da un database. Dopo aver selezionato le varie opzioni vorrei che cliccando sul pulsante stampa percorso, all'apertura della pagina associata le stesse vengano visualizzate nel punto "inserire dati da prova.asp". Allego il link dove ho pubblicato una pagina di prova: http://www.slpcislfoggia.it/prova/prova.asp , temendo di essere stato poco chiaro.
    Ringrazio anticipatamente chiunque vorrà essermi di aiuto.


  • Super User

    Ciao brontolone e benvenuto nel Forum GT!

    Per fare quello che vuoi fare tu ti serve recuperare i dati postati tramite request.form("nome_campo") e poi visualizzarli dove vuoi tu.


  • User

    grazie e ciao cali1981,
    purtroppo non sono esperto e mi sono accollato l'onere di proseguire il lavoro di un amico e collega, da cui ho ripreso il nome. Ho collaborato con lui marginalmente alla costruzione del sito e perciò ti prego portare pazienza se riceverai domande o chiarimenti strani.
    La pagina "prova.asp" come dicevo ha delle select, il codice che popola la prima è il seguente:

    <SELECT class=in id=assiselect0 style="width: 100%; height: 23; font-family:Tahoma; font-size:9pt" onchange=calcola(); name=caseselect size="1">
    <%
    Dim strSQL
    strSQL = "Select * From tabmenu where elemento = 'zona 1'"
    Dim objRS
    Set objRS = Server.CreateObject ("ADODB.Recordset")
    objRS.Open strSQL, objConn
    %>
    <%
    Do While Not objRS.EOF
    Dim elemento, tratto, civico
    elemento = objRS ("elemento")
    tratto = objRS ("tratto")
    civico = objRS ("civico")
    %>
    <%
    Response.Write "<option>" & elemento & tratto & " " & "n. " & civico & "</option>"
    objRS.MoveNext
    Loop
    objRS.close
    set objRS=Nothing
    %>
    </select>

    ora nella pagina dove voglio visualizzare l'opzione selezionata devo utilizzare il comando da te indicato ma non so utlizzarlo, puoi darmi ulteriore supporto?
    Grazie anticipatamente.


  • Super User

    Se non hai idea su asp, o cmq conosci poco, potrai avere dei problemi col proseguire il lavoro, se si fa più complicato, quindi ti consiglio di guardare una guida comprensiva, cercando su internet ne trovi molte. In ogni caso per quello che devi fare tu, serve qualcosa del tipo:

    Response.Write "assiselect0: " & Request.Form("assiselect0")

    Che scrive il valore di quella select. Se serve altro fammi sapere!


  • User

    @cali1981 said:

    Se serve altro fammi sapere!

    hai ragione, infatti ho gia provveduto a scaricare un po di guide, vorrei però completare almeno questa pagina.
    Per fare in modo che ti possa rssere tutto più chiaro posto il codice di tutta la pagina, ho eliminato tutto quello che non serve:
    <%@ Language=VBScript %>
    <% Option Explicit %>
    <!--#include file="connections/connmenu.asp"-->
    <!--#include file="adovbs.inc"-->
    <HTML>
    <head>
    </head>
    <BODY>
    <TABLE cellSpacing=0 cellPadding=0 width=100% border=0>
    <TBODY>
    <TR>
    <TD class=table style="background-color: #FFFFFF" width="100%">
    <TABLE class=testo cellSpacing=0 cellPadding=0 width="100%" border=0>
    <TBODY>
    <TR>
    <TD width="100%">
    <DIV align=center>
    <FORM id=config name=config action=config.asp method=post>
    <TABLE class=testo cellSpacing=0 cellPadding=0 width="100%" border=0>
    <TBODY>
    <table border="0" width="100%" cellspacing="1" id="table3">
    <tr>
    <td width="52">
    <font face="Tahoma" style="font-size: 9pt">zona 1</font></td>
    <td width="370">

    <SELECT style="width: 100%; height: 23; font-family:Tahoma; font-size:9pt" size="1">
    <%
    Dim strSQL
    strSQL = "Select * From tabmenu where elemento = 'zona 1'"
    Dim objRS
    Set objRS = Server.CreateObject ("ADODB.Recordset")
    objRS.Open strSQL, objConn
    %>
    <%
    Do While Not objRS.EOF
    Dim elemento, tratto, civico
    elemento = objRS ("elemento")
    tratto = objRS ("tratto")
    civico = objRS ("civico")
    %>
    <%
    Response.Write "<option>" & elemento & tratto & " " & "n. " & civico & "</option>"
    objRS.MoveNext
    Loop
    objRS.close
    set objRS=Nothing
    %>
    </select></td>
    </tr>
    <tr>
    <td width="52">
     </td>
    <td width="370">

    <input name="Button" type="button" class="but" value="Stampa percorso" onClick="document.config.target='blank';document.config.action='http://localhost/2.slpcislfoggia/prova/stampapercorso.asp';document.config.submit();document.config.target='_self';document.config.action='printprev.asp';">
    </tr>
    </table>
    </TBODY></TABLE>
    <INPUT id=currentcfg type=hidden
    value=1 name=currentcfg>
    </FORM>
    </DIV></TD></TR></TBODY></TABLE></TD>
    </TR></TBODY>

    </BODY>
    </HTML>


  • Super User

    Ok, ma il codice che ti ho dato io lo devi mettere nella pagina config.asp che riceve i dati da questo form.


  • User

    le pagine che compongono il progetto sono:
    adovbs.inc, config.asp a cui e collegato il db.mdb
    poi c'è prova.asp che è la pagina popolata dalle select e stampapersorso.asp

    Se a quest'ultima pagina in un punto qualsiasi inserisco il codice l'unico risultato è: assiselect0:

    Buona giornata.


  • Super User

    Cosa c'è in stampapersorso.asp?


  • User

    c'è solo il codice che mi hai consigliato.
    Ho messo on- line un file prova.rar per far vedere tutto il codice.
    Saluti


  • Super User

    Prova a mettere Response.Write("assiselect0: " & Request.Form("assiselect0"))


  • User

    Niente inserendo quel codice ricevo solo "assiselect0:"

    Scusami però credo di averti indotto in errore, o non mi è chiaro quello che ho letto. Il Response estrae i dati dal db mentre il Request recupera l'ID dello stesso. Ora assiselect è l'ID utilizzato dalla select per una funzione script che dovrà calcolare i kmetri, perciò è giusto il risultato.
    A questo punto, haimè, diventa più complicato. Ti ho inviato un msg per renderti tutto più chiaro, se ti va, posta tu il codice opprtuno per far_mi/ci capire come si può fare.
    Saluti


  • Super User

    Allora, response è un oggetto che rappresenta la risposta che viene inviata al client, quindi response.write scrive nel file html che viene restituito e visualizzato dal browser. Request invece rappresenta la richiesta inviata dal client stesso, ovvero l'url della apgina richiesta, che può contenere dati messi in post tramite un form (quindi request.form) oppure messi nell'url (come pagina.asp?id=1)


  • User

    Lezione asp n.1, mamma li turchi. chiaritissimo.

    Allora perchè non restituisce nessun valore? c'è bisogno di altro codice nella pagina "stampapercorso.asp" ?


  • Super User

    prova a sostituire a assiselect 0 il nome (name) esatto della select dentro request.form e vedi se fa lo stesso


  • User

    perfetto, continuo nella costruzione della pagina.
    Saluti


  • Super User

    Funziona?


  • User

    finalmente posso rispondere, ricevevo sempre il messaggio server sovraccarico.
    Si cali in locale sembra funzionare, Sto ultimando la pagina con uno script che calcola i km. Ti faccio sapere come completo, credo entro il fine settimana.
    Spero di non avere ulteriori problemi, nel caso posto?
    Per il momento grazie 1000, sei stato fantastico.