Foros del Web » Programando para Internet » PHP »

select dependientes

Estas en el tema de select dependientes en el foro de PHP en Foros del Web. amigos , maestros y compañeros hoy vengo pidiendo ayuda en el siguiente tema , se que talvez es facil pero estoy liado con esto. tengo ...
  #1 (permalink)  
Antiguo 20/10/2013, 16:13
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 1 mes
Puntos: 36
Pregunta select dependientes

amigos , maestros y compañeros hoy vengo pidiendo ayuda en el siguiente tema , se que talvez es facil pero estoy liado con esto.

tengo un form el cual tiene dos select, el primer select se llena de la siguiente forma

Código PHP:
Ver original
  1. <select name="Sustaninable" class="selectf">
  2.         <?php
  3.             $found=mysql_query("select * from found");
  4.                
  5.                        while($found1=mysql_fetch_assoc($found))
  6.                     {
  7.                         $found2[]=$found1;
  8.                                 }
  9.                           foreach ($found2 as $f){
  10.         ?>
  11. <option name="Sustainable" value="<?php echo $f["id"] ?>"><?php echo $f["Sustainable"] ?></option>
  12.             <?php
  13.                 }
  14.             ?>
  15. </select>

en dicho select hay 4 opciones. y el segundo select debe de llenarse dependiendo de la opcion seleccionada por el usuario.. lo quiero llenar asi

Código PHP:
Ver original
  1. <select name="Employment" class="selectf">
  2.                             <?php
  3.                                 switch ($f["id"] ){
  4.                                         case (1):
  5.                                         echo "la variable es 1";
  6.                                         break;
  7.                                         case (2):
  8.                                         echo "la variable es 2";
  9.                                         break;
  10.                                         case(3):
  11.                                         echo "verifica tu variable";
  12.                                 }
  13.                             ?>
  14.                         </select>

nota dentro de cada case estara el forech y su respectiva option.. pero no sale..

no se si estoy obteniendo correctamente el ($f["id"] ) del switch -..


podrian ayudarme ... muchas gracias


disculpen si es algo sencillo pero realmente e buscado bastan
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #2 (permalink)  
Antiguo 20/10/2013, 22:35
 
Fecha de Ingreso: octubre-2013
Mensajes: 21
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: select dependientes

revisa primero, antes de hacer el for each si es que realmente la variable amacena el valor que necesitas, ya que si no lo hace difícilmente podrás usar el valor para el switch-case

crea un if(isset($f)){ echo "contiene algo"; } else{ echo "no contiene nada" ;}

( no soy experto, pero es una recomendación espero que ayude)
  #3 (permalink)  
Antiguo 21/10/2013, 06:37
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 1 mes
Puntos: 36
Respuesta: select dependientes

gracias voy a revisar eso mismo ahora ,, te cuento como me va..
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #4 (permalink)  
Antiguo 21/10/2013, 06:46
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 1 mes
Puntos: 36
Respuesta: select dependientes

he echo lo que me dices de la siguiente forma


<?php if(isset($f)){
echo "contiene $f";
}
else{
echo " no contiene nada" ;
}
?>

la respuesta es contiene array


como lo tomo como un array y coloco su indice ?
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #5 (permalink)  
Antiguo 21/10/2013, 07:51
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: select dependientes

Esto lo puedes solucionar con AJAX
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #6 (permalink)  
Antiguo 21/10/2013, 07:53
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 1 mes
Puntos: 36
Respuesta: select dependientes

Cita:
Iniciado por SkAr88 Ver Mensaje
Esto lo puedes solucionar con AJAX
el tema es que en ajax estoy corto de conocimientos

si puedes darme una idea te agradecere
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #7 (permalink)  
Antiguo 21/10/2013, 08:00
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: select dependientes

Una pregunta, que intenta hacer con ésta linea ?

$found2[]=$found1;

?

me gustaría que me diga que es lo que le parece que está guardando dentro de $found2 en cada iteración del bucle
  #8 (permalink)  
Antiguo 21/10/2013, 08:02
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 1 mes
Puntos: 36
Respuesta: select dependientes

Cita:
Iniciado por rodrigo791 Ver Mensaje
Una pregunta, que intenta hacer con ésta linea ?

$found2[]=$found1;

?

me gustaría que me diga que es lo que le parece que está guardando dentro de $found2 en cada iteración del bucle
el array que viene de la consulta
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #9 (permalink)  
Antiguo 21/10/2013, 08:04
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: select dependientes

Esta guardando en un array todos los valores de $found1
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #10 (permalink)  
Antiguo 21/10/2013, 08:06
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 1 mes
Puntos: 36
Pregunta Respuesta: select dependientes

Código PHP:
Ver original
  1. <select name="found1" class="selectf" Id="select1">
  2.                             <?php
  3.                                 $found=mysql_query("select * from found");
  4.                                 while($found1=mysql_fetch_assoc($found))
  5.                                 {
  6.                                     $found2[]=$found1;
  7.                                 }
  8.                                 foreach ($found2 as $f){
  9.                             ?>
  10.                             <option name="Sustainable" value="<?php echo $f["id"] ?>"><?php echo $f["Sustainable"] ?></option>
  11.                             <?php
  12.                                 }
  13.  
  14.                             ?>
  15.                         </select>
  16.  
  17.  
  18.                         <select name="found2" class="selectf">
  19.                             <?php
  20.  
  21.                                 switch ($id){
  22.                                         case (2):
  23.                                                
  24.                                         $foundcargado=mysql_query("select * from found1");
  25.                                         while($foundcargado1=mysql_fetch_assoc($foundcargado))
  26.                                             {
  27.                                                 $foundcargado2[]=$foundcargado1;
  28.                                             }
  29.                                         foreach ($foundcargado2 as $fcargado2){
  30.                             ?>
  31.                             <option name="Sustainable" value="<?php echo $fcargado2["id"] ?>"><?php echo $fcargado2["Community_Change"] ?></option>
  32.                             <?php
  33.                                 }
  34.                                         break;
  35.                                         case (3):
  36.                                         $foundcargados=mysql_query("select * from found2");
  37.                                         while($foundcargados1=mysql_fetch_assoc($foundcargados))
  38.                                             {
  39.                                                 $foundcargados2[]=$foundcargados1;
  40.                                             }
  41.                                         foreach ($foundcargados2 as $fcargados2){
  42.                             ?>
  43.                             <option name="Sustainable" value="<?php echo $fcargados2["id"] ?>"><?php echo $fcargados2["selections"] ?></option>
  44.                             <?php
  45.                                 }
  46.                                         break;
  47.                                         case(4):
  48.                                         $f=mysql_query("select * from found3");
  49.                                         while($f1=mysql_fetch_assoc($f))
  50.                                             {
  51.                                                 $f2[]=$f1;
  52.                                             }
  53.                                         foreach ($f2 as $f){
  54.                             ?>
  55.                             <option name="Sustainable" value="<?php echo $f["id"] ?>"><?php echo $f["selections"] ?></option>
  56.                             <?php
  57.                                 }                                      
  58.                                         break;
  59.                                         case(5):
  60.                                                 $ff=mysql_query("select * from found4");
  61.                                         while($ff1=mysql_fetch_assoc($ff))
  62.                                             {
  63.                                                 $ff2[]=$ff1;
  64.                                             }
  65.                                         foreach ($ff2 as $ff){
  66.                             ?>
  67.                             <option name="Sustainable" value="<?php echo $ff["id"] ?>"><?php echo $ff["selections"] ?></option>
  68.                             <?php                                                                      
  69.                                 }
  70.                                }
  71.                             ?>
  72.                         </select>

ese es el codigo logicamente colocando manualmente el valor del foreach funciona correctamente lo que necesito es capturar el valor de value del option que imprime y asignarlo al switch

switch ($id)

se que es mediante ajax pero ahi quedo corto espero puedan ayudarme
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #11 (permalink)  
Antiguo 21/10/2013, 08:08
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 1 mes
Puntos: 36
Respuesta: select dependientes

Cita:
Iniciado por SkAr88 Ver Mensaje
Esta guardando en un array todos los valores de $found1
sii asi es ya despues los mando a llamar
Código HTML:
Ver original
  1. <option name="Sustainable" value="<?php echo $f["id"] ?>"><?php echo $f["Sustainable"] ?></option>
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #12 (permalink)  
Antiguo 21/10/2013, 08:19
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: select dependientes

En ajax tambien quedo corto, pero mi amigo google me mostro esto
http://www.formatoweb.com.ar/ajax/se...pendientes.php
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #13 (permalink)  
Antiguo 21/10/2013, 08:21
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: select dependientes

Cita:
Iniciado por herzbazi Ver Mensaje
el array que viene de la consulta
Si, guardas el array en otro array, pero a lo que voy es que de esa forma lo que haces es llenar el array siempre de lo mismo en cada posición ( indice )

Código PHP:
Ver original
  1. while($found1=mysql_fetch_assoc($found))
  2.                                 {
  3.                                     $found2[]=$found1;
  4.                                 }

$found2[] lo definis como 1 array, y al hacer esto $found2[]=$found1; estas diciendo que por cada vez que se ejecute el bucle while te guarde en la posición 0,1,2..etc un array, no 1 elemento, para guardar 1 elemento tendrías que hacer lo siguiente.

$found2[]=$found1['nombreAtributo']; y de esta forma guardarias por cada iteracion de bucle los elementos, en el array $found2, de lo contrario de la forma en que lo haces estas guardando en cada posición un array con todos los elementos.

$found2[0] = array
$found2[1] = array
$found2[2] = array
$found2[3] = array
etc
  #14 (permalink)  
Antiguo 21/10/2013, 08:21
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 1 mes
Puntos: 36
Respuesta: select dependientes

Cita:
Iniciado por SkAr88 Ver Mensaje
En ajax tambien quedo corto, pero mi amigo google me mostro esto
http://www.formatoweb.com.ar/ajax/se...pendientes.php
lo leere y publico el resultado
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #15 (permalink)  
Antiguo 21/10/2013, 08:26
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 1 mes
Puntos: 36
Pregunta Respuesta: select dependientes

Cita:
Iniciado por rodrigo791 Ver Mensaje
Si, guardas el array en otro array, pero a lo que voy es que de esa forma lo que haces es llenar el array siempre de lo mismo en cada posición ( indice )

Código PHP:
Ver original
  1. while($found1=mysql_fetch_assoc($found))
  2.                                 {
  3.                                     $found2[]=$found1;
  4.                                 }

$found2[] lo definis como 1 array, y al hacer esto $found2[]=$found1; estas diciendo que por cada vez que se ejecute el bucle while te guarde en la posición 0,1,2..etc un array, no 1 elemento, para guardar 1 elemento tendrías que hacer lo siguiente.

$found2[]=$found1['nombreAtributo']; y de esta forma guardarias por cada iteracion de bucle los elementos, en el array $found2, de lo contrario de la forma en que lo haces estas guardando en cada posición un array con todos los elementos.

$found2[0] = array
$found2[1] = array
$found2[2] = array
$found2[3] = array
etc
ya entiendo
pongo el foreach dentro del while
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #16 (permalink)  
Antiguo 21/10/2013, 08:26
Avatar de alexisverano  
Fecha de Ingreso: septiembre-2008
Ubicación: La Habana.Cuba
Mensajes: 298
Antigüedad: 15 años, 6 meses
Puntos: 36
Respuesta: select dependientes

herzbazi,

Llegate a esta URL, aqui encontraras la respuesta a tu pregunta sobre los "select dependientes":

http://www.formatoweb.com.ar/ajax/se...pendientes.php

http://www.jose-aguilar.com/blog/com...ry-ajax-y-php/

Saludos,
  #17 (permalink)  
Antiguo 21/10/2013, 08:29
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 1 mes
Puntos: 36
Información Respuesta: select dependientes

Cita:
Iniciado por rodrigo791 Ver Mensaje
Si, guardas el array en otro array, pero a lo que voy es que de esa forma lo que haces es llenar el array siempre de lo mismo en cada posición ( indice )

Código PHP:
Ver original
  1. while($found1=mysql_fetch_assoc($found))
  2.                                 {
  3.                                     $found2[]=$found1;
  4.                                 }

$found2[] lo definis como 1 array, y al hacer esto $found2[]=$found1; estas diciendo que por cada vez que se ejecute el bucle while te guarde en la posición 0,1,2..etc un array, no 1 elemento, para guardar 1 elemento tendrías que hacer lo siguiente.

$found2[]=$found1['nombreAtributo']; y de esta forma guardarias por cada iteracion de bucle los elementos, en el array $found2, de lo contrario de la forma en que lo haces estas guardando en cada posición un array con todos los elementos.

$found2[0] = array
$found2[1] = array
$found2[2] = array
$found2[3] = array
etc
ya entiendo
pongo el foreach dentro del while


gracias voy a revisar ya mismo
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #18 (permalink)  
Antiguo 21/10/2013, 08:32
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: select dependientes

A ver, si queres guardar en cada posición del array $found2 cada elemento que te devuelve la consulta entonces tenes que hacerlo de la manera que te dije,

$found2[] = $found1['TUELEMENTO'];
luego lo recorres de la forma que quieras, con foreach o con lo que quieras
  #19 (permalink)  
Antiguo 21/10/2013, 08:34
Avatar de alexisverano  
Fecha de Ingreso: septiembre-2008
Ubicación: La Habana.Cuba
Mensajes: 298
Antigüedad: 15 años, 6 meses
Puntos: 36
Respuesta: select dependientes

Descargate esto, es el ejemplo completo de los select dependientes:

http://www.formatoweb.com.ar/ajax/download/2.zip

Etiquetas: dependientes, select
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 21:32.