
24/06/2005, 15:33
|
| | Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 20 años, 1 mes Puntos: 9 | |
Yo a los combos dependientes los hago distinto, ya que haciendolo con javascript estarías bajando demasiada información (aún con dos select solos) al cliente y que va a usar únicamente el 10% de ella siendo generoso, ya que va a elegir su estado y se va a actualizar con sus respectivas ciudades, por lo tanto, estaríamos demorando en bajar información que en definitiva gran parte de ella no va a ser utilizable por el cliente.
Esto es lo que hago, no se que les parecerá, asi que antes de usarlo Gaby Corr, te recomiendo que esperes algún comentario de los que saben.
<script>
function ir(){
var selected_option = document.categorias.negocios.options[document.categorias.negocios.selectedIndex]
url = selected_option.value
selected_option.selected = true;
window.location = url;
}
</script>
</head>
<body>
<%
Dim IdNegocio
if Request.QueryString("id_neg") = "" then
IdNegocio = 1
else
IdNegocio = Request.QueryString("id_neg")
end if
set conexion = Server.CreateObject("ADODB.Connection")
conexion.Open Application("Conexion")
set RS = Server.CReateObject("ADODB.RecordSet")
RS.Open "SELECT IdNegocio, Nombre FROM negReg", conexion
%>
<Form Method="POST" action="somethin.asp" name="categorias">
<Select name="negocios" onchange="ir()">
<option>[Seleccione Un negocio]</option>
<%
I = 0
do until RS.EOF
%>
<option value="combos.asp?id_neg=<%=RS("IdNegocio")%>"><%= RS("Nombre")%></option>
<%
RS.MoveNext
loop
RS.Close
set RS = nothing
%>
</Select>
<%
set snd = Server.CreateObject("ADODB.RecordSet")
snd.Open "SELECT Nombre FROM Productos WHERE IdNegocio = "&IdNegocio&"", conexion
%>
<select name="Productos">
<%
do until snd.EOf
%>
<option><%=snd("Nombre")%>
<%
snd.MoveNext
Loop
snd.Close
set snd = nothing
conexion.CLose()
set conexion = nothing
%>
</select>
</Form>
La estructura que deberías tener en tu base de datos sería la siguiente: dos tablas, una llamada Estado (en tu caso) y otra llamada Ciudades. Estas dos tablas obviamente hay que relacionarlas, lo mejor sería con un Id de Estado. Es decir, digamos que estamos en Argentina, la Provincia de Córdoba tiene el Id 1, y todas las ciudades que integran esta provincia van a tener un campo, por ejemplo, IddeEstado, con el valor de su provincia, en este caso 1. Y así sucesivamente, Buenos Aires Id 2, Santa Fe Id 3, etc y sus correspondientes ciudades los valores que correspondan.
Es lo único que necesitas en cuanto a la base de datos.
Yo en mi caso tengo una tabla con los negocios registrados en mi futuro sitio, y en otra tabla guardo todos los productos de todos los negocios relacionados con el Id del negocio al que corresponde ese producto. Es perfectamente aplicable a tu caso.
Espero que te haya sido de ayuda.
Saludos!.
__________________ Add, never Remove |