Modulo ricerca in ASP con campo modulo predefinito a tendina

  • Creatore Discussione Creatore Discussione darann
  • Data di inizio Data di inizio

darann

Utente Attivo
23 Nov 2006
36
0
0
Salve,
chiedo gentilmente a qualcuno semi "illumina" sul sguente problema.
Ho fatto un modulo di ricerca in asp che pesca i dati da access.
Con i campi compilabili funziona gregiamente, ma se voglio inserire un campo con dati di ricerca predefiniti a tendina cominciano i problemi....
In pratica non so dove inserire correttamente i codici select perfar sì che funzioni.
Per facilitare la ricerca ai visitatori, volevo per esempio inserire le marche automobilistiche ( Alfa romeo, Fiat etc etc... col modulo a tendina. )
Provo a postare il form sperando che qualcuno ci capisca qualcosa.

<form name="frmSearch" method="post" action="<%=Request.ServerVariables("SCRIPT_NAME")%>">
<input type="hidden" name="page" value="1">
<tr>
<td align=center style="width: 1299px">
<table border="0" width="100%" cellpadding="2" cellspacing="2" class="style2">
<tr>
<td colspan="2"><b><font color="#336699" size="3">
<span class="style7">Ricerca ricambi</span> -
-&nbsp; <span class="style1">N.B. inserire almeno un
dato</span></font></b></td>
</tr>

<tr>
<td nowrap><b>Marca :</b></td>
<td width="100%">
<input accesskey="i" type="text" name="Marca" size="10" value="<%=Server.HTMLEncode(Request("Marca"))%>" style="width: 160px">&nbsp;
( Inserire la casa costruttrice )</td>
</tr>

<tr>
<td nowrap><b>Codice motore :</b></td>
<td width="100%">
<input accesskey="s" type="text" name="Cod_articolo" size="20" value="<%=Server.HTMLEncode(Request("Cod_articolo"))%>" style="width: 160px">&nbsp; <br></td>
</tr>

<tr>
<td nowrap><b>Modello :</b></td>
<td width="100%">
<input accesskey="t" type="text" name="Modello" size="20" value="<%=Server.HTMLEncode(Request("Modello"))%>" style="width: 160px">&nbsp;
( Modello autovettura es: PUNTO )</td>
</tr>

<tr>
<td nowrap><b>Anno :</b></td>
<td width="100%"><input accesskey="n" type="text" name="Anno" size="10" value="<%=Server.HTMLEncode(Request("Anno"))%>">
( Anno di costruzione )</td>
</tr>

<tr>
<td nowrap><b>Cerca per :</b></td>
<td width="100%">
<select accesskey="b" name="sortby">
<option value="Marca"<%If Trim(LCase(Request("sortby"))) = "Marca" Then Response.Write " selected"%>>Codice</option>
<option value="Cod_articolo"<%If Trim(LCase(Request("sortby"))) = "Cod_articolo" Then Response.Write " selected"%>>Codice</option>
<option value="Modello"<%If Trim(LCase(Request("sortby"))) = "Modello" Then Response.Write " selected"%>>Modello</option>
<option value="Anno"<%If Trim(LCase(Request("sortby"))) = "Anno" Then Response.Write " selected"%>>Anno</option>
</select>
&nbsp;
<select name="sortorder">
<option value="asc">Ascendente</option>
<option value="desc"<%If Trim(LCase(Request("sortorder"))) = "desc" Then Response.Write " selected"%>>Discendente</option>
</select>&nbsp; ( Visualizzazione dei risultati )</td>
</tr>

<tr>
<td nowrap><b>Risultati per pagina :</b></td>
<td width="100%"><input accesskey="r" type="text" name="pagesize" size="10" value="<%=intPageSize%>">
( Max. 30 risultati di impaginazione )</td>
</tr>

<tr>
<td colspan="2">
<input type="button" name="btnRestart" value="Resetta" onclick="javascript: window.location='<%=Request.ServerVariables("SCRIPT_NAME")%>'">
&nbsp;&nbsp;
<input type="submit" name="btnSubmit" value="Cerca il ricambio !">
</td>
</tr>
</table>
</td>
</tr>
</form>

Graziiieeee
 
Intanto ho notato questo errore, riperi 2 volte l'input "Marca" e questo falsa il risultato, elimina il primo e lascia solo quello a tendina.

Facci sapere.
 
Re::

Grazie della nota, ma il problema non è dove indichi tu ( che peraltro funziona in quella porzione di codice ) ma nella parte alta dove si inserisce la "marca" come ricerca semplice ed è dovevorrei mettere la scelta a tendina con le varie marche( la segno in rosso ):

<form name="frmSearch" method="post" action="<%=Request.ServerVariables("SCRIPT_NAME")%>">
<input type="hidden" name="page" value="1">
<tr>
<td align=center style="width: 1299px">
<table border="0" width="100%" cellpadding="2" cellspacing="2" class="style2">
<tr>
<td colspan="2"><b><font color="#336699" size="3">
<span class="style7">Ricerca ricambi</span> -
-&nbsp; <span class="style1">N.B. inserire almeno un
dato</span></font></b></td>
</tr>

<tr>
<td nowrap><b>Marca :</b></td>
<td width="100%">
<input accesskey="i" type="text" name="Marca" size="10" value="<%=Server.HTMLEncode(Request("Marca"))%>" style="width: 160px">&nbsp; ( Inserire la casa costruttrice )</td>
</tr>

<tr>
<td nowrap><b>Codice motore :</b></td>
<td width="100%">
<input accesskey="s" type="text" name="Cod_articolo" size="20" value="<%=Server.HTMLEncode(Request("Cod_articolo"))%>" style="width: 160px">&nbsp; <br></td>
</tr>

<tr>
<td nowrap><b>Modello :</b></td>
<td width="100%">
<input accesskey="t" type="text" name="Modello" size="20" value="<%=Server.HTMLEncode(Request("Modello"))%>" style="width: 160px">&nbsp;
( Modello autovettura es: PUNTO )</td>
</tr>

<tr>
<td nowrap><b>Anno :</b></td>
<td width="100%"><input accesskey="n" type="text" name="Anno" size="10" value="<%=Server.HTMLEncode(Request("Anno"))%>">
( Anno di costruzione )</td>
</tr>

<tr>
<td nowrap><b>Cerca per :</b></td>
<td width="100%">
<select accesskey="b" name="sortby">
<option value="Marca"<%If Trim(LCase(Request("sortby"))) = "Marca" Then Response.Write " selected"%>>Codice</option>
<option value="Cod_articolo"<%If Trim(LCase(Request("sortby"))) = "Cod_articolo" Then Response.Write " selected"%>>Codice</option>
<option value="Modello"<%If Trim(LCase(Request("sortby"))) = "Modello" Then Response.Write " selected"%>>Modello</option>
<option value="Anno"<%If Trim(LCase(Request("sortby"))) = "Anno" Then Response.Write " selected"%>>Anno</option>
</select>
&nbsp;
<select name="sortorder">
<option value="asc">Ascendente</option>
<option value="desc"<%If Trim(LCase(Request("sortorder"))) = "desc" Then Response.Write " selected"%>>Discendente</option>
</select>&nbsp; ( Visualizzazione dei risultati )</td>
</tr>

<tr>
<td nowrap><b>Risultati per pagina :</b></td>
<td width="100%"><input accesskey="r" type="text" name="pagesize" size="10" value="<%=intPageSize%>">
( Max. 30 risultati di impaginazione )</td>
</tr>

<tr>
<td colspan="2">
<input type="button" name="btnRestart" value="Resetta" onclick="javascript: window.location='<%=Request.ServerVariables("SCRIPT_NAME")%>'">
&nbsp;&nbsp;
<input type="submit" name="btnSubmit" value="Cerca il ricambio !">
</td>
</tr>
</table>
</td>
</tr>
</form>
 
Difficile?

Ma.... ho postato una cosa così strana e difficile da non meritare risposte ?
San Luke aiutaci tuuuuu
 
...nessuno risponde perchè probabilmente il problema non è stato rappresentato in maniera chiara e pertanto mi è difficile capire ad intuito come aiutarti.

Il codice HTML funziona?
Qual'è la risposta del server?
La query da te utilizzata è giusta?
Come fai a dire che un form ripetuto 2 volte con lo stesso nome non influisce nel risultato?

Ci posti la pagina ASP che elabora il post?
 
Pagina

Ciao Paolo,
grazie per l'intervento.
La pagina ( funzionante ) è quella che ho già messo come link ( la trovi sopra ).
Il codice funzioina tutto regolarmente, l'unica cosa che volevo fare ( se era possibile ) è che al posto dell'area text delle "marche" si potesse mettere un area a tendina con già tutte le marche preimpostate ( fiat,alfa romeo, mercedes tec etc..... ) per facilitare chi consultasse la pagina e magari non sa scrivere correttamente nomi stranieri come Mitsubishi o Volkswagen ( per esempio) .

Ti ringrazio
Dario
 
Sostituisci:
Codice:
<input accesskey="i" type="text" name="Marca" size="10" value="<%=Server.HTMLEncode(Request("Marca"))%>" style="width: 160px">&nbsp; ( Inserire la casa costruttrice )

con questo:
Codice:
<select accesskey="i" name="Marca">
<option value="" <% If Trim(LCase(Request("Marca"))) = "" Then Response.Write " selected" %>> Seleziona una marca </option>
<option value="Alfa Romeo" <% If Trim(LCase(Request("Marca"))) = "Alfa Romeo" Then Response.Write " selected" %>>Alfa Romeo</option>
<option value="Austin Rover"<% If Trim(LCase(Request("Marca"))) = "Austin Rover" Then Response.Write " selected" %>>Austin Rover</option>
</select>
 
Wowwww

Grandiosooooooo funziona alla grande !
Ti devo un birra !
Grazie
Dario



Sostituisci:
Codice:
<input accesskey="i" type="text" name="Marca" size="10" value="<%=Server.HTMLEncode(Request("Marca"))%>" style="width: 160px">&nbsp; ( Inserire la casa costruttrice )

con questo:
Codice:
<select accesskey="i" name="Marca">
<option value="" <% If Trim(LCase(Request("Marca"))) = "" Then Response.Write " selected" %>> Seleziona una marca </option>
<option value="Alfa Romeo" <% If Trim(LCase(Request("Marca"))) = "Alfa Romeo" Then Response.Write " selected" %>>Alfa Romeo</option>
<option value="Austin Rover"<% If Trim(LCase(Request("Marca"))) = "Austin Rover" Then Response.Write " selected" %>>Austin Rover</option>
</select>
 

Discussioni simili