Foros del Web » Programando para Internet » PHP »

Ayuda con select que depende de otro

Estas en el tema de Ayuda con select que depende de otro en el foro de PHP en Foros del Web. Buenas a todos, he estado mirando en las faq's, y he encontrado un ejemplo. pero no se como aplciarlo. el problema es que yo tengo ...
  #1 (permalink)  
Antiguo 27/09/2006, 05:34
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Ayuda con select que depende de otro

Buenas a todos,

he estado mirando en las faq's, y he encontrado un ejemplo. pero no se como aplciarlo.

el problema es que yo tengo un form, que ya envia los datos para ser insertados en una base de datos.

tengo un select de poblaciones, en las cuales me salen todas juntas. como en la misma bd de poblaciones tengo un campo que es zona, me gustaria que en la primera seleccionase la zona, y que automaticamente se cambiase la otra con las poblaciones de la otra.

mis dos selects son tal que asi:

// en esta primera, hago un select distinct para extraer las provincias
Código:
       $res = mysql_query("SELECT DISTINCT provincia FROM poblaciones ORDER by provincia") or die (mysql_error());

 	if (mysql_num_rows($res) > 0) {
		//si hay resultados.
		while(list($provincia) = mysql_fetch_array($res)){
		?>
              
              ?>
              <option value="<?=$provincia;?>"><?=$provincia;?></option>
        <?
		}
	}
?>
              </select>
// en esta muestro todas las poblaciones, y que lo tendria que hacer es una busqueda WHERE zona='$zona'

Código:
              <select name="poblacion_old" class="selects" id="select2" >
                <?
       $res = mysql_query("SELECT id,poblacion FROM poblaciones ORDER by poblacion") or die (mysql_error());

 	if (mysql_num_rows($res) > 0) {
		//si hay resultados.
		while(list($id,$poblacion) = mysql_fetch_array($res)){
		?>
                <option value="<?=$id;?>"> <?=$poblacion;?></option>
        <?
		}
	}
?>
              </select>
a ver si alguien puede decirme como hacerlo.

saludos,

ferranWEB
  #2 (permalink)  
Antiguo 27/09/2006, 05:52
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
he hecho lo siguiente.

//en el primer select

onChange="comprobar(this.value);

function prueba2(valor){

alert(valor);
}


y esto me muestra el valor de la provincia. la select2 la tengo disabled a true, para que no se me habilite hasta que seleccciones una provincia.

como podria hacer la consulta del segundo select, pasandole el valor de VALOR, para que me mostrase la combo con laspoblaciones de esa provincia?

saludos
  #3 (permalink)  
Antiguo 27/09/2006, 05:54
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Hola!!!!
si buscas aqui en el foro hay muchas soluciones... solo tienes q poner selects dependientes. me parece q en las Faq tambien hay un ejemplo!
si lo quieres sin refrescar la pagina mira en el foro de AJAX alli tambien se ha tocado mucho el tema!

saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #4 (permalink)  
Antiguo 27/09/2006, 09:05
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
gracias por tu respuesta sergi.

el tema es que a mi codigo le falta para funcionar poder pasar el valor de VALOR a la consulta del php. obtengo el valor del select de provincias, y solo me falta pasar el valor a la consulta...

puedes ayudarme en eso?

saludos
  #5 (permalink)  
Antiguo 27/09/2006, 09:18
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
hola,
aqui tienes varios ejemplos para realizar lo q quieres.
http://www.forosdelweb.com/showpost....06&postcount=8

saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #6 (permalink)  
Antiguo 27/09/2006, 10:07
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
sergi, gracias. con unos de tuslinks he conseguido algo.pero tengp un problemilla...

tengo lo siguiente:

<select name="select" class="selects" id="select8" onChange="recarga()">

function recarga(){
window.location = "<?php echo $_SERVER['PHP_SELF']; ?>?var="+document.form1.select.value; onChange="location.reload()";
}

$var=$_GET["var"];
$res = mysql_query("SELECT id,poblacion FROM poblaciones WHERE zona='$var' ORDER by poblacion") or die (mysql_error());


y perfecto, la pagina hace un reload, y cambia el valor de la variable var. pero tengo dos problemas:

1) antes del campo poblacion, tengo un campo referencia. al hacer el reload, siempre pierdo ese valor. puedo evitarlo?

2) al hacer el cambio, me modifica el valor de la segunda select, pero el valor del primer siempre se queda el primero, y claro, no se corresponde... se puede evitar?

saludos,

ferranWEB
  #7 (permalink)  
Antiguo 27/09/2006, 10:23
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Xq no te guias deste ejemplo... te sera mucho mas facil.http://www.forosdelweb.com/showthrea...999#post664999

aunke si kieres seguir con el tuyo.. podrias postearme el codigo para ver como esta todo?

saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #8 (permalink)  
Antiguo 27/09/2006, 10:41
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
buenas, he solucionado la opcion de que se me quede seleccionado la opcion del primer select seleccionado.

he hecho lo siguiente:

Código:
              		         <option value="<?=$zona;?>" 
		<? if ($zona== "$var")
          {
          	echo "selected='selected'";
          }
          ?> >
         <?=$zona;?>
         </option>
asi, al hacer reload me mantiene el nombre de la zona. para ello, en el recarga tengo lo siguiente:

function recarga(){
window.location = "<?php echo $_SERVER['PHP_SELF']; ?>?var="+document.form1.select.value;&id=+document .form1.id.value; onChange="location.reload()";
}

y mi pregunta es...

si quiero mantener elmismo campo de id (con el valor que hayan insertado, que no se pierda el valor), como puedo hacerlo?

he probado asi:
function recarga(){
var="+document.form1.select.value;&id=+document.fo rm1.id.value;

es decir, pasarlo por $GET en la funcion recarga, pero me da error...

q pongo mal? saludos


saludos
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 00:55.