- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- collegare i risultati di un database
-
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.
-
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.
-
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!
-
@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>
-
Ok, ma il codice che ti ho dato io lo devi mettere nella pagina config.asp che riceve i dati da questo form.
-
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.aspSe a quest'ultima pagina in un punto qualsiasi inserisco il codice l'unico risultato è: assiselect0:
Buona giornata.
-
Cosa c'è in stampapersorso.asp?
-
c'è solo il codice che mi hai consigliato.
Ho messo on- line un file prova.rar per far vedere tutto il codice.
Saluti
-
Prova a mettere Response.Write("assiselect0: " & Request.Form("assiselect0"))
-
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
-
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)
-
Lezione asp n.1, mamma li turchi. chiaritissimo.
Allora perchè non restituisce nessun valore? c'è bisogno di altro codice nella pagina "stampapercorso.asp" ?
-
prova a sostituire a assiselect 0 il nome (name) esatto della select dentro request.form e vedi se fa lo stesso
-
perfetto, continuo nella costruzione della pagina.
Saluti
-
Funziona?
-
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.