Newsgroup: it.comp.www.asp
Titolo: Applicazione ASP: AIUTO!!!

Salve a tutti,
            sto scrivendo un'applicazione in ASP, ma non riesco più a
muovermi.....
Dovrei utilizzare una variabile che spedita da una pagina con una casella di
testo
vada a modificare i parametri di un'altra pagina asp....
Es:
"PAG1.HTM"
<form method="POST" action="
http://manuel/asp/model.asp
">
<p><input type="TEXT" name="txtString"></p>
<p><input type="SUBMIT"></p>
</form>
.............
..................
MODEL.ASP
<%=request.form("txtString")%>
.......
.........
..............
Questa procedura mi stampa quello che avevo scritto nella casella di testo
di pag1.htm in model.asp, e qui siamo ok, ma se dovessi fare una cosa di
questo tipo?
Es:
"PAG1.HTM"
<form method="POST" action="
http://manuel/asp/model.asp
">
<p><input type="TEXT" name="txtString"></p>
<p><input type="SUBMIT"></p>
</form>
.............
..................
model2.asp
<%
    Dim objConnection
    Dim objRecordset
    Set objConnection = Server.CreateObject("ADODB.Connection")
    Set objRecordset = Server.CreateObject("ADODB.Recordset")
    objConnection.Open "Database", "", ""
    objRecordset.Open "SELECT [txtString] FROM Tabella", objConnection
%>
..............
...................
<%=objRecordset("[txtString]")%>
........
............
...................
Dove [txtString] è il "parametro" (nel mio caso il nome del campo) che ho
scritto nella casella di testo di pag1.htm?
Ed ancora meglio:
Io ho un menu a tendina che mi fa una lista di record:
<%
    Dim objConnection
    Dim objRecordset
    Set objConnection = Server.CreateObject("ADODB.Connection")
    Set objRecordset = Server.CreateObject("ADODB.Recordset")
    objConnection.Open "Database", "", ""
    objRecordset.Open "SELECT Campo FROM Tabella", objConnection
%>
<select size=1>
<%
     Do While Not objRecordset.EOF
%>
<option><%=objRecordset("Campo")%></option>
<%
    objRecordset.MoveNext
    Loop
%>
</select>
........
..........
...............
Nel menu a tendina mi compare la lista dei campi presenti nella tabella
"Tabella" del database "Database". Ora come faccio a selezionare un campo di
quelli visualizzati nel menu a tendina e "spedire" il suo valore (che deve
essere lo stesso visualizzato nel menu) alla pagina model2.asp in modo che
"prenda il posto" di [txtString]?
model2.asp
<%
    Dim objConnection
    Dim objRecordset
    Set objConnection = Server.CreateObject("ADODB.Connection")
    Set objRecordset = Server.CreateObject("ADODB.Recordset")
    objConnection.Open "Database", "", ""
    objRecordset.Open "SELECT [txtString] FROM Tabella", objConnection
%>
..............
...................
<%=objRecordset("[txtString]")%>
........
............
...................
Spero di non aver chiesto troppo..... Questo è il mio messaggio di benvenuto
al NewsGroup ;-)
Creerò un link dal mio sito al sito di chiunque saprà rispondermi
esaudientemente !!!
Grazie!!!!

<%=objRecordset("[nomecampo]")%>
Idem per ogni campo estratto con select. Se usi * ti estrae tutti i campi
presenti, altrimenti metti la lista dei campi.
Saluti.
Stefano.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Moderatore di it.comp.www.asp
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

caro Manuel,
Per quanto riguarda le options di una combo, se vuoi che arrivi il testo
selezionato devi fare in questo modo:
<SELECT NAME="Selezione1">
<OPTION VALUE="qualcosa">qualcosa</OPTION>
<OPTION VALUE="qualcos'altro">qualcos'altro</OPTION>
.....
</SELECT>
e poi puoi fare Request.form("Selezione1")
e ti arriva "qualcosa" o "qualcos'altro". L'importante è includere il
paramentro NAME nella SELECT e VALUE nelle varie OPTION. Quello che arriva
alla asp e il VALUE non il testo che c'e' nella combo, che quindi possono
anche essere diversi!
Spero di esserti stata di aiuto!
Francesca



Se dovesse servire a qualcuno, questo è il codice per il menu a tendina.
<select size="1">
<% Do While Not objRecordset.EOF %>
<option
value="<%=objRecordset("NomeColonna")%>"><%=objRecordset("NomeColonna")%></o
ption>
<%objRecordset.MoveNext
Loop
%>
</select>
Grazie.

Ricordo che volendo si puo' aggiungere nel SELECT un DISTINCT nomecampo in
modo da estrapolare delle informazioni univoche. Per esempio se ho una
rubrica telefonica posso cercare tutti gli utenti di una provincia e che mi
compaia una sola volta il nome della provincia e non per ogni record.


     objRecordset.Open "SELECT [txtString] FROM Tabella", objConnection
                                ^^^^^^^^^^^
Eh no! Se vuoi un certo campo scrivi:
  ...
  sqlstr="SELECT " & request.form("txtString") & " FROM Tabella"
  objRecordset.Open sqlstr, objConnection
  ...
E poco piu' sotto:
  <%=objRecordset(request.form("txtString"))%>
Per la tendina siamo circa sulla stessa "frequenza" ;-)
  saluti
-----------------------------------------------------
 Fabrizio Accatino                                   
 Web:   
http://www.cclinf.polito.it/~fhtino
 
 
http://www.geocities.com/SoHo/Workshop/2495/
 
 EMail: 
fht...@cclinf.polito.it
 - 
fht...@usa.net
 
-----------------------------------------------------

Voilà!
Questo è parte di quanto mi serviva.
Ringrazio tutti per i preziosi suggerimenti!
<html>
<head>
<title>Versioni</title>
<base target="bottom">
</head>
<body>
<%
Param = Request.QueryString("Param")
Data = Request.QueryString("Data")
%>
<%
Session.timeout = 180
If IsObject(Session("NWAUTO_conn")) Then
    Set conn = Session("NWAUTO_conn")
Else
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.open "NWAUTO","",""
    Set Session("NWAUTO_conn") = conn
End If
%>
<%
    sql = "SELECT *  FROM [SELECT ModelliAuto.IdModello,
VersioneAuto.IdVersione, VersioneAuto.Versione  FROM ModelliAuto INNER JOIN
VersioneAuto ON ModelliAuto.IdModello = VersioneAuto.IdModello   ]. AS Query
WHERE (((Query.IdModello)='"& request("optModelliAuto") &"'))   "
    If cstr(Param) <> "" And cstr(Data) <> "" Then
        sql = sql & " And [" & cstr(Param) & "] = " & cstr(Data)
    End If
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn, 3, 3
%>
<form method="GET" action="auto.asp">
  <p><select size="1" name="optVersioneAuto">
<%
On Error Resume Next
rs.MoveFirst
do while Not rs.eof
%>    <option
value="<%=rs.Fields("IdVersione").Value%>"><%=rs.Fields("Versione").Value%><
/option>
<%
rs.MoveNext
loop%>  </select> <input type="submit" value="Seleziona"></p>
</form>
</body>
</html>
Tra un po' sarò on-line !

...


>Cioč?
Cioe', per esempio tu hai un DB con le schede di tutti i POP dei provider
italiani.
Vuoi fare una ricerca che ti restituisca quelli di una provincia. Per
scegliere la provincia fai una casella di riepilogo che vada a prendere le
informazioni dall'archivio stesso (in questo modo se in una provincia non ci
sono POP non compare nell'elenco). Se non metti il DISTINCT ti compare il
nome della provincia 1 volta per ogni POP che c'e' nella provincia. Se metti
invece il DISTINCT ti compare il nome della provincia 1 sola volta
indipendentemente da quanti provider sono in quella provincia.


Ok, questo lo faccio nella query SQL.
Pensavo ti riferissi al TAG <select>...
Bye, Manuel
