Vereis... estoy inciando una aplicación web, consistentes en viajes.
Los datos los saco de la base de datos (para su manejo uso (ibmanager/firebird)
Y hago la conexión con la base de datos mediante ASP.
La cuestión es que tengo 2 listas desplegables (Origen-Destino), en las que tengo las ciudades, y debo conseguir que en el segundo desplegable, salgan de nuevo todas las ciudades, menos la que he puesto en el primero (Origen y destino no puede ser el mismo)
Como he dicho antes hago la conexión mediante ASP para obtener los valores de los desplegables de la tabla de la BD..
Y bien, la conexión la hago sin problemas, y me muestra todas las ciudades de que se encuentren en la tabla ciudad.
Pero tengo entendido que para las listas encadenas (que el contenido de la segunda dependa de lo que se elija en al primera) es conveniente usar AJAX.
Entonces en el segundo select seria donde tendría que cambiar el código (actualmente me muestra lo mismo que el primero, es decir todas las ciudades).
Os muestro un poco el código a ver si con eso me podéis guiar mejor:
Cita:
Bueno pues seria eso, las 2 listas actualmente me sacan el mismo resultado (normal), pero necesito lo que he comentado, que si en al primera elijo una ciudad, en la segunda lista salgan todas menos esa.<body>
<%
Set Conexion = Server.CreateObject("ADODB.Connection")
Conexion.ConnectionString = "datos de la bd("nombre contraseña etc, los omito por no ponerlos por aqui jeje)"
Conexion.Mode = 3
Conexion.Open
SentenciaSQL = "select * from ciudad"
Set rs1 = Conexion.Execute(SentenciaSQL)
Set rs2 = Conexion.Execute(SentenciaSQL)
%>
<form action="resultado.asp" method="post" enctype="text/plain">
p>Origen:
<select name="ciudadOrigen" size="1">
<option value="0"></option>
<%do until rs1.Eof%>
<option value="<%=rs1("IDCIUDAD")%>"><%=rs1("CIUDAD")%></option>"
<%rs.MoveNext
loop%>
</select>
</p>
<p>Destino:
<select name="ciudadDestino" size="1"> //// aqui el segundo select, el funcionamiento y resultado es el mismo que en el primero, solo es otra manera de hacerlo, por probar...
<option value="0"></option>
<% do while not rs2.EOF
Response.Write("<OPTION VALUE=" +cstr(rs2("IDCIUDAD")) + ">")
Response.Write(rs2("CIUDAD") + "</OPTION>")
rs2.MoveNext
loop %>
</select>
</p>
//y antes de terminar el body cierro conexión
<% Set Conexion = nothing %>
</body>
<%
Set Conexion = Server.CreateObject("ADODB.Connection")
Conexion.ConnectionString = "datos de la bd("nombre contraseña etc, los omito por no ponerlos por aqui jeje)"
Conexion.Mode = 3
Conexion.Open
SentenciaSQL = "select * from ciudad"
Set rs1 = Conexion.Execute(SentenciaSQL)
Set rs2 = Conexion.Execute(SentenciaSQL)
%>
<form action="resultado.asp" method="post" enctype="text/plain">
p>Origen:
<select name="ciudadOrigen" size="1">
<option value="0"></option>
<%do until rs1.Eof%>
<option value="<%=rs1("IDCIUDAD")%>"><%=rs1("CIUDAD")%></option>"
<%rs.MoveNext
loop%>
</select>
</p>
<p>Destino:
<select name="ciudadDestino" size="1"> //// aqui el segundo select, el funcionamiento y resultado es el mismo que en el primero, solo es otra manera de hacerlo, por probar...
<option value="0"></option>
<% do while not rs2.EOF
Response.Write("<OPTION VALUE=" +cstr(rs2("IDCIUDAD")) + ">")
Response.Write(rs2("CIUDAD") + "</OPTION>")
rs2.MoveNext
loop %>
</select>
</p>
//y antes de terminar el body cierro conexión
<% Set Conexion = nothing %>
</body>
Un saludo. Y a ver si alguien pudiera echarme una mano. Gracias..