4 messaggi dal 12 dicembre 2006
Salve a tutti, ho un problema con una pagina asp che dovrebbe popolare due combo in base all'elemento selezionato...
Dovrei gestire un database di auto e far si che nella prima combo si selezioni la marca e successivamente l'altra combo dovrebbe aggiornarsi per i modelli relativi alla marca selezionata..
Il problema è che non visualizzo nulla all'interno di esse... i campi del DB con cui lavoro sono tutti in formato TESTO. Infatti se provo a modificare il formato dei campi mettendli NUMERICI il tutto funziona.(ovviamente devo togliere gli apici nella condizione WHERE...)Che errore commetto nel realizzare la query??Perchè penso che il problema sia proprio lì...
Di seguito riporto il codice della pagina..spero di ottenere un aiuto!!! Grazie anticipatamente!


<!--#include file="conn.asp"-->
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<%
Dim rs1, cn, rs2,  rs4 ' Variabili per la connessione e per il Recordset

Dim Marca,Modello,Prezzo

Set rs4= Server.CreateObject("ADODB.Recordset")
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open str_cn ' Apro la connessione al database

SQL4 = "SELECT * FROM auto ORDER BY Marca"  'Query generale
' Apro il Recordset
rs4.Open SQL4,cn


if Request.form("marca")="" then

Marca="Marca"

else

Marca=Request.form("marca")

end if

if Request.form("modello")="" then

Modello="Modello"

else

Modello=Request.form("modello")

end if


' Creo un'istanza per la connessione ed una per il Recordset

%>

</head>

  
<SCRIPT language="Javascript"  TYPE="TEXT/JAVASCRIPT">
  function vai(sel)
  {
    if (sel.selectedIndex == 0) return;
      sel.form.action = "cerca.asp";
      sel.form.submit();
  }
</SCRIPT>
  
</HEAD>
  
<body>

  <div class="content"> 
    <p> LE NOSTRE AUTO </p>
    <h6> Ecco le auto disponibili presso il nostro autosalone, per ulteriori informazioni 
      <a href="contatti.asp"> contattateci</a></h6>
    <%
Dim SQL1,SQL2' Creo le query SQL
                              
SQL1 = "SELECT DISTINCT Marca FROM auto WHERE Modello='"&Modello&"'"  'Query per le marche

SQL2 = "SELECT DISTINCT Modello FROM auto WHERE Marca='"&Marca&"'"  'Query per i modelli

Set rs1= Server.CreateObject("ADODB.Recordset")
Set rs2= Server.CreateObject("ADODB.Recordset")

' Apro il Recordset
rs1.Open SQL1,cn
' Apro il Recordset
rs2.Open SQL2,cn


%>
<br />
   <form method="POST" action="modCerca.asp">
    <table border="0">
        <tr> 
          <td> <select name="marca" onchange="vai(this)">
               
      <option value="">Seleziona Marca...</option>
             <%
      While rs1.EOF = false
      
      if strcomp(rs1("MARCA"),Marca)=0 then
    %>
              <option selected value=<%=Marca%>><%=Marca%></option>
              <%
      rs1.MoveNext
      else
    %>
              <option value=<%=rs1("MARCA")%>><%=rs1("MARCA")%></option>
              <%
      rs1.MoveNext
      end if
      wend
    %>
            </select> 
    </td>
      
          <td> <select name="modello" onchange="vai(this)">
              <option value="">Seleziona Modello...</option>
              <%
      While rs2.EOF = false
      if strcomp(rs2("MODELLO"),Modello)=0 then
    %>
              <option selected value=<%=Modello%>><%=Modello%></option>
              <%
      rs2.MoveNext
      else
    %>
              <option value=<%=rs2("MODELLO")%>><%=rs2("MODELLO")%></option>
              <%
      rs2.MoveNext
      end if
      wend
    %>
            </select> </td>
          <td> <input type="submit" value="Cerca"> </td>
        </tr>  
  </table> 
   </form>
     </div>
<%

rs1.Close
Set rs1 = Nothing

rs2.Close
Set rs2 = Nothing

%>

</body>
</html>

<%
' Chiudo il Recordset
rs4.Close
Set rs4 = Nothing

' Chiudo la connessione
cn.Close
Set cn = Nothing
%>

118 messaggi dal 13 gennaio 2004
ascolta prova a mettere nelle query un trim(marca) etc etc...!

potresti fare una prova, una voltas eseguita la tua pag. asp, fai tasto destro HTML per visualizzare il codice... è controlla che nella parte delle combo non vi sia degli errori....

spesso accade, quando utilizzi le combo che l'errore non viene riportato a video lo vedi solo visualizzando il codice HTML

utilizza semplicemente request e non request.form

apparte tutto io rivedrei la struttura, la soluzione migliore ed efficace ed utilizzare funzioni javascript o ajax facilmente reperibili su internet che ti evitano di ricaricare la pag. per passare parametri etc....

Ciao

Punto Interrogativo

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.