Foros del Web » Programando para Internet » PHP »

dobles combox anidados

Estas en el tema de dobles combox anidados en el foro de PHP en Foros del Web. Que tal foro, aqui peleando con los combox en php, el problema es el siguiente, tengo dos combox, el primero contiene los estados de un ...
  #1 (permalink)  
Antiguo 13/08/2002, 10:25
 
Fecha de Ingreso: agosto-2002
Mensajes: 121
Antigüedad: 21 años, 8 meses
Puntos: 0
dobles combox anidados

Que tal foro, aqui peleando con los combox en php, el problema es el siguiente, tengo dos combox, el primero contiene los estados de un pais y el segundo las localidades de estos estados, lo que quiero hacer es que dependiendo del valor seleccionado en el primero, muestre los valores del segundo, es decir, si en el primero seleccion el estado Guadalajara el segundo combox me muestre SOLO las localidades de Guadalajara.
En el primer combox los valores los "jalo" de una tabla de mysql, este es el codigo:

<?
$seleccion="select id_edo, estado from estados";
$resultado=mysql_query($seleccion, $IdConexion) or die ("error");

echo "<select name='edo'>";
if (mysql_num_rows($resultado)==0)
{
echo "<option value='0'>'No hay estados'</option>";
}
else
{
while(list($id_edo,$estado)=mysql_fetch_row($resul tado))
{
echo "<option value='$id_edo'>$estado</option>";
}//end while
}//end else
echo "</select>";
?>

Mi tabla se llama "estados" y tienes los campos: id_edo y estado. Como pueden ver hago una consulta a la tabla, el principio para el segundo seria el mismo pero añadiendo el valor que se selcciono en el primer combox en la consulta (select ... where id_edo='edo'). El problema es que no puedo leer el valor seleccionado en el primer combox que se supone esta almacenado en: "edo" ... espero me puedan ayudar..

d:o)
  #2 (permalink)  
Antiguo 13/08/2002, 11:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: dobles combox anidados

No te funciona ese codigo? que has puesto?

bueno .. sobre gustos no hay nada escrito .. pero lo mas comun es sacar el campo de un registro via mysql_fecht_array .. mas q con el list() q estas haciendo .. pruebalo:

while ($registros=mysql_fech_array($resultados){
echo "<option value='$registros['id_edo']'>$registros['estado']</option>";
}

Tambien podiras usar un xxx_fech_object .. y sacar tu campo via $registros->id_edo .. por ejemplo ...

Un saludo,

}
  #3 (permalink)  
Antiguo 13/08/2002, 13:27
 
Fecha de Ingreso: agosto-2002
Mensajes: 121
Antigüedad: 21 años, 8 meses
Puntos: 0
Re: dobles combox anidados

gracias cluster por la observacion pero el codigo que escribi si me despliega los valores de la tabla en mi combo, el problema en que el valor seleccionado no esta disponible sino hasta que presione el boton submit del formulario, pero ese valor yo lo requiero en la misma pagina donde se encuentra el formulario, hay alguna forma de "refrescar" el formulario de manera que este valor ya este disponible?
  #4 (permalink)  
Antiguo 13/08/2002, 13:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: dobles combox anidados

Si,

con javascript ... Un evento onChange .. submit ..

echo "<select name=\"XXX\" onChange=\"this.form.submit()\">&quot ;;

Un saludo,
  #5 (permalink)  
Antiguo 13/08/2002, 13:46
 
Fecha de Ingreso: agosto-2002
Mensajes: 121
Antigüedad: 21 años, 8 meses
Puntos: 0
Re: dobles combox anidados

en si lo tengo implementado con javascript, pero el problema es que se tarda un buen en cargar el script de las poblaciones, y lo quiero hacer por medio de consultas php.. supongo que es mas rapido... o me equivoco?
  #6 (permalink)  
Antiguo 13/08/2002, 16:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: dobles combox anidados

Creo que no me entendiestes ....

La funcion javascript que puse solo hace que enviar el formulario .. donde? ... en teoria a la misma pagina que procesa las consultas y muestra el "selec"

de esa formas .. tendras tu variable de control de "poblaciones" en la que haras la consulta pertinente a tu BBDD para obtener solo y exclusivamente esas poblaciones correspondientes a esa condicion "WHERE" que es determinada por el combox primero ...

No se trata de cargar todas las poblaciones en un array javascript .. asi es logico que tardeeeeee un monton en cargar tu pagina .. sino de filtrarlas via consultas a la BBDD.

Te recomiendo que leas este tutorial al respecto:
<a href='ir.asp?http://www.zend.com/zend/tut/drop-down.php' target='_blank'>http://www.zend.com/zend/tut/drop-down.p...</a>

Un saludo,
  #7 (permalink)  
Antiguo 13/08/2002, 17:26
 
Fecha de Ingreso: agosto-2002
Mensajes: 121
Antigüedad: 21 años, 8 meses
Puntos: 0
Re: dobles combox anidados

ok, ya vi mi error, es que estaba metiendo todo a un array en javascript.. voy a reventarme el tutorial .. GRACIAS POR TODO. ahi te aviso si me salio o me fallo en algo :P

d:o)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:06.