Foros del Web » Programando para Internet » PHP »

Pasar por post segundo option seleccionado de un select dependiente

Estas en el tema de Pasar por post segundo option seleccionado de un select dependiente en el foro de PHP en Foros del Web. Hola amigos. Tengo un select que se carga con datos de la bd que genera otro select con datos de la bd. El problema es ...
  #1 (permalink)  
Antiguo 22/03/2012, 09:30
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 12 años, 9 meses
Puntos: 15
Pasar por post segundo option seleccionado de un select dependiente

Hola amigos. Tengo un select que se carga con datos de la bd que genera otro select con datos de la bd. El problema es que no puedo pasar la opción seleccionada del segundo select por POST. Este es el código:

codigo1.php

Código PHP:
Ver original
  1. <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
  2.     <script language="JavaScript" type="text/JavaScript">
  3.             $(document).ready(function(){
  4.                 $("#select1").change(function(event){
  5.                     var id = $("#select1").find(':selected').val();
  6.                     $("#select2").load('genera-select.php?id='+id);
  7.                 });
  8.             });
  9. </script>
  10.  
  11. <table>
  12.    <form action="reservacion.php" method="post">
  13.     <fieldset>
  14.        <legend>Seleccionar Plan:</legend>
  15.        <label for="input-one" class="float"><strong>Posada:</strong>
  16.            </label><br />
  17.             <?php
  18.         $consulta='select * from posadas';
  19.         $resultado=mysql_query($consulta,$conexion);
  20.         echo "<select class='inp-text' name='select1' id='select1'>";
  21.            while($fila=mysql_fetch_array($resultado)){
  22.                   echo "
  23.                      <option value='".$fila['id_posada']."'>".$fila['nombre_posada']."
  24.                      </option>";
  25.            }
  26.         echo "</select>";?>
  27.         <br />
  28.       <label for="input-two" class="float"><strong>Plan:</strong></label>
  29.           <br />
  30.           <select class="inp-text" name="select2" id="select2">
  31.           <option value="0">Seleccionar... </option>
  32.           </select>
  33.     </fieldset>

y este es el genera-select.php

Código PHP:
Ver original
  1. $consulta = "SELECT * from planes WHERE id_posada = ".$_GET['id'];
  2. $query = mysql_query($consulta);
  3. while ($fila = mysql_fetch_array($query)) {
  4.     echo '<option value="'.$fila['id'].'">'.$fila['nombre_plan'].'</option>';
  5. };

y este es el que recibe los datos por post:

Código PHP:
Ver original
  1. $select1= $_POST['select1'];
  2. $select2= $_POST['select2'];

Recibe el primero, pero no el segundo.

Cómo lo tengo que pasar????

Gracias
__________________
Caminando con el corazón partío
  #2 (permalink)  
Antiguo 22/03/2012, 09:40
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 10 años
Puntos: 76
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

hola, mmm puede que no te este generando bien el select2, podrias cargar todo el select completo asi:



Código PHP:
Ver original
  1. echo "<select id='select2' name='select2'/>";
  2. $consulta = "SELECT * from planes WHERE id_posada = ".$_GET['id'];
  3. $query = mysql_query($consulta);
  4. while ($fila = mysql_fetch_array($query)) {
  5.     echo '<option value="'.$fila['id'].'">'.$fila['nombre_plan'].'</option>';
  6. };
  7. echo "</select>";

y lo cargas en un div con el metodo load, asi lo podes recibir como POST

Última edición por informacionsys; 22/03/2012 a las 09:46
  #3 (permalink)  
Antiguo 22/03/2012, 09:48
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 12 años, 9 meses
Puntos: 15
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

Hola, si la declaré en el archivo genera-select.php y luego se llama en la función javascript. Si me muestra los datos del segundo select según lo seleccionado en el primero.

El problema que tengo es que no me los pasa cuando trato de enviar los datos por post. Solo pasa los del primero y no los del segundo.

Eso es lo que necesito saber como hacer.

Gracias
__________________
Caminando con el corazón partío
  #4 (permalink)  
Antiguo 22/03/2012, 09:52
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 10 años
Puntos: 76
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

podrias probarlo como te indico..

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.                 $("#select1").change(function(event){
  3.                     var id = $("#select1").find(':selected').val();
  4.                     $("#carga_select").load('genera-select.php',"id="+id);
  5.                 });
  6.             });
Código HTML:
Ver original
  1. <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
  2.  <table>
  3.    <form action="reservacion.php" method="post">
  4.     <fieldset>
  5.        <legend>Seleccionar Plan:</legend>
  6.        <label for="input-one" class="float"><strong>Posada:</strong>
  7.            </label><br />
  8.             <?php
  9.        $consulta='select * from posadas';
  10.        $resultado=mysql_query($consulta,$conexion);
  11.        echo "<select class='inp-text' name='select1' id='select1'>";
  12.            while($fila=mysql_fetch_array($resultado)){
  13.                   echo "
  14.                       <option value='".$fila['id_posada']."'>".$fila['nombre_posada']."
  15.                       </option>";
  16.            }
  17.         echo "</select>";?>
  18.         <br />
  19.       <label for="input-two" class="float"><strong>Plan:</strong></label>
  20.           <br />
  21.           <div id="carga_select">
  22.           <select class="inp-text" name="select2" id="select2">
  23.           <option value="0">Seleccionar... </option>
  24.           </select>
  25.           </div>
  26.     </fieldset>
genera-select.php

Código PHP:
Ver original
  1. echo "<select id='select2' name='select2'/>";
  2. $consulta = "SELECT * from planes WHERE id_posada = ".$_GET['id'];
  3. $query = mysql_query($consulta);
  4. while ($fila = mysql_fetch_array($query)) {
  5.     echo '<option value="'.$fila['id'].'">'.$fila['nombre_plan'].'</option>';
  6. };
  7. echo "</select>";
  #5 (permalink)  
Antiguo 22/03/2012, 10:06
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 12 años, 9 meses
Puntos: 15
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

Hola lo hice asi pero no me carga el segundo select en el select. Me muestra los datos fuera del option.
__________________
Caminando con el corazón partío
  #6 (permalink)  
Antiguo 22/03/2012, 10:11
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 10 años
Puntos: 76
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

hola mmmmm.

ok muestrame el codigo como lo dejaste...
  #7 (permalink)  
Antiguo 22/03/2012, 10:17
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 12 años, 9 meses
Puntos: 15
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

Código Javascript:
Ver original
  1. <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
  2.     <script language="JavaScript" type="text/JavaScript">
  3.     $(document).ready(function(){
  4.                     $("#select1").change(function(event){
  5.                         var id = $("#select1").find(':selected').val();
  6.                         $("#carga_select").load('genera-select.php',"id="+id);
  7.                     });
  8.                 });        </script>

Código PHP:
Ver original
  1. <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
  2.      <table>
  3.        <form action="reservacion.php" method="post">
  4.         <fieldset>
  5.            <legend>Seleccionar Plan:</legend>
  6.            <label for="input-one" class="float"><strong>Posada:</strong>
  7.                </label><br />
  8.                 <?php
  9.            $consulta='select * from posadas';
  10.            $resultado=mysql_query($consulta,$conexion);
  11.            echo "<select class='inp-text' name='select1' id='select1'>";
  12.                while($fila=mysql_fetch_array($resultado)){
  13.                       echo "
  14.                          <option value='".$fila['id_posada']."'>".$fila['nombre_posada']."
  15.                          </option>";
  16.                }
  17.             echo "</select>";?>
  18.             <br />
  19.           <label for="input-two" class="float"><strong>Plan:</strong></label>
  20.               <br />
  21.               <div id="carga_select">
  22.               <select class="inp-text" name="select2" id="select2">
  23.               <option value="0">Seleccionar... </option>
  24.               </select>
  25.               </div>
  26.         </fieldset>

Código PHP:
Ver original
  1. echo "<select id='select2' name='select2'/>";
  2.     $consulta = "SELECT * from planes WHERE id_posada = ".$_GET['id'];
  3.     $query = mysql_query($consulta);
  4.     while ($fila = mysql_fetch_array($query)) {
  5.         echo '<option value="'.$fila['id'].'">'.$fila['nombre_plan'].'</option>';
  6.     };
  7.     echo "</select>";
__________________
Caminando con el corazón partío
  #8 (permalink)  
Antiguo 22/03/2012, 10:21
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 10 años
Puntos: 76
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

ok entonces pruebalo asi:

Código HTML:
Ver original
  1. <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
  2. <script language="JavaScript" type="text/JavaScript">
  3.     $(document).ready(function(){
  4.                     $("#select1").change(function(event){
  5.                        
  6.                                  var id = $("#select1").find(':selected').val();
  7.                      
  8.                                  $("#carga_select").load('genera-select.php',"id="+id);
  9.                     });
  10.     });        
  11.  
  12.  
  13.      <table>
  14.        <form action="reservacion.php" method="post">
  15.         <fieldset>
  16.            <legend>Seleccionar Plan:</legend>
  17.            <label for="input-one" class="float"><strong>Posada:</strong>
  18.                </label><br />
  19.                 <?php
  20.           $consulta='select * from posadas';
  21.           $resultado=mysql_query($consulta,$conexion);
  22.           echo "<select class='inp-text' name='select1' id='select1'>";
  23.                while($fila=mysql_fetch_array($resultado)){
  24.                       echo "
  25.                           <option value='".$fila['id_posada']."'>".$fila['nombre_posada']."
  26.                           </option>";
  27.                }
  28.             echo "</select>";?>
  29.             <br />
  30.           <label for="input-two" class="float"><strong>Plan:</strong></label>
  31.               <br />
  32.               <div id="carga_select">
  33.               <select class="inp-text" name="select2" id="select2">
  34.               <option value="0">Seleccionar... </option>
  35.               </select>
  36.               </div>
  37.         </fieldset>


recuerda que ahi tienes que generar otra vez la conexion ....

Código PHP:
Ver original
  1. echo "<select id='select2' name='select2'/>";
  2.     $consulta = "SELECT * from planes WHERE id_posada = ".$_GET['id'];
  3.     $query = mysql_query($consulta,$conexion) or die ("Query Fallo".mysql_error());
  4.     while ($fila = mysql_fetch_array($query)) {
  5.         echo '<option value="'.$fila['id'].'">'.$fila['nombre_plan'].'</option>';
  6.     };
  7.     echo "</select>";
  #9 (permalink)  
Antiguo 22/03/2012, 10:28
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 12 años, 9 meses
Puntos: 15
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

Ahora peor porque no muestra los datos del segundo select...
__________________
Caminando con el corazón partío
  #10 (permalink)  
Antiguo 22/03/2012, 10:30
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 10 años
Puntos: 76
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

ok, debe ser porque no le esta llegando el parametro del id imprime el query a ver que te arroja...

ya arreglaste lo de la conexion en el archivo, muestra como te quedo para mirar..
  #11 (permalink)  
Antiguo 22/03/2012, 10:36
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 12 años, 9 meses
Puntos: 15
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

hola si siempre hago la conexion. Arreglé algo y si muestra los datos del segundo select pero fuera del select. Me imagino que se muestra fuera porque se relaciona en el div y no adentro del select. No se si es asi.
__________________
Caminando con el corazón partío
  #12 (permalink)  
Antiguo 22/03/2012, 10:40
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 10 años
Puntos: 76
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

exacto es asi... ese es el funcionamiento que hace...


por eso tienes que crear todo el select de nuevo el archivo de peticion para que lo cargue en el div...
  #13 (permalink)  
Antiguo 22/03/2012, 10:42
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 12 años, 9 meses
Puntos: 15
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

si pero debo tenerlo dentro del select para que la persona seleccione una opcion y yo pase los datos por post. Ese es el problema que tengo
__________________
Caminando con el corazón partío
  #14 (permalink)  
Antiguo 22/03/2012, 10:47
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 12 años, 9 meses
Puntos: 15
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

Es que el que yo tenía desde un principio generaba el segundo select con sus datos. Solo me faltaba que la opcion que seleccionara el usuario en ese segundo select la pudiera pasar por post que es lo que no hace...
__________________
Caminando con el corazón partío
  #15 (permalink)  
Antiguo 22/03/2012, 10:50
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 10 años
Puntos: 76
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

exacto es que asi deberia funcionar..... pero si me dices que muestra los datos fuera del select debe ser por un error de maquetacion en el select deberias revisa o por ultimo pruebalo asi:

Código HTML:
Ver original
  1. <select id='select2' name='select2'/>
  2. <?php
  3.    $consulta = "SELECT * from planes WHERE id_posada = ".$_GET['id'];
  4.    $query = mysql_query($consulta,$conexion) or die ("Query Fallo".mysql_error());
  5.  while ($fila = mysql_fetch_array($query)) {
  6. ?>
  7.     <option value="<?php echo $fila['id'];?>"><?php echo $fila['nombre_plan']; ?> </option>
  8. <?php
  9.  };
  10. ?>
  #16 (permalink)  
Antiguo 22/03/2012, 11:06
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 12 años, 9 meses
Puntos: 15
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

hace lo mismo, lo muestra fuera del select...
__________________
Caminando con el corazón partío
  #17 (permalink)  
Antiguo 22/03/2012, 11:09
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 10 años
Puntos: 76
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

hola, por fa muestra como te quedo finalmente el archivo ... pf.

:)
  #18 (permalink)  
Antiguo 23/03/2012, 08:02
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 12 años, 9 meses
Puntos: 15
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

El código lo puse tal cual me indicaste. Pero insisto el código que yo tenía inicialmente me mostraba todo bien Solo me faltaba que la opcion que seleccionara el usuario en ese segundo select la pudiera pasar por post que es lo que no hace...

Lo que necesito saber es como recojo esa selección en el segundo select pues con $select2= $_POST['select2']; no me trae nada...

Tengo 3 días en esto y no lo soluciono, por favor si alguien sabe como le agradezco la ayuda.
__________________
Caminando con el corazón partío
  #19 (permalink)  
Antiguo 23/03/2012, 08:14
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 10 años
Puntos: 76
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

hola

ok, puedes mostrarnos un pantallazo de como te muestra el segundo select cuando lo cargas...

o revisa el codigo fuente de la pagina despues de cargar el select para ver como te muestra la estructura del select ...

y si algo muestra nuevamente tu codigo como lo tienes
  #20 (permalink)  
Antiguo 23/03/2012, 08:40
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 12 años, 9 meses
Puntos: 15
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

Hola informacionsys, muchas gracias por tu ayuda y paciencia.

Este es el enlace donde tengo los select:

http://vamonosdevacaciones.com.ve/reservacion.php

Para que te de las opciones del segundo, selecciona en el primero la posada "Mi Posada" que es la única que tengo asociada ahorita con los planes
__________________
Caminando con el corazón partío
  #21 (permalink)  
Antiguo 23/03/2012, 08:47
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 10 años
Puntos: 76
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

sencillo ya revise bien y no te recoge el valor de post porque en tu select en el value cuando lo cargas lo esta dejando vacio ..


mira revisa el codigo fuente como te dije y veras que en value="" esta vacio

te dejo como me aparecio a mi:

<option value="">Vamos a la playa</option><option value="">Rumba Playera</option><option value="">Fin de Semana Love</option><option value="">Ven al Campo</option><option value="">Tus vacaciones So�adas</option><option value="">Tus vaca</option>
  #22 (permalink)  
Antiguo 23/03/2012, 08:53
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 12 años, 9 meses
Puntos: 15
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

Si, noté que no muestra los datos del select2 en el código fuente. Como puedo hacer porque el coloca el value en el archivo genera-select.php:

Código PHP:
Ver original
  1. $consulta = "SELECT * from planes WHERE id_posada = ".$_GET['id'];
  2.     $query = mysql_query($consulta);
  3.     while ($fila = mysql_fetch_array($query)) {
  4.         echo '<option value="'.$fila['id'].'">'.$fila['nombre_plan'].'</option>';
  5.     };

al llamarlo en el otro debería traerlo ya que lo presenta en las opciones.

No entiendo....
__________________
Caminando con el corazón partío
  #23 (permalink)  
Antiguo 23/03/2012, 08:55
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 10 años
Puntos: 76
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

ok sencillo

en vez de colocar en el value $fila['id'] coloca $fila['nombre_plan'].. hazlo simplemente para que veas que cuando lo envies si te va a capturar el valor

Código PHP:
Ver original
  1. $consulta = "SELECT * from planes WHERE id_posada = ".$_GET['id'];
  2.     $query = mysql_query($consulta);
  3.     while ($fila = mysql_fetch_array($query)) {
  4.         echo '<option value="'.$fila['nombre_plan'].'">'.$fila['nombre_plan'].'</option>';
  5.     };

PD: Firebug ... herramienta que te sera muy util...
  #24 (permalink)  
Antiguo 23/03/2012, 09:06
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 12 años, 9 meses
Puntos: 15
Respuesta: Pasar por post segundo option seleccionado de un select dependiente

Que tonta soy tenía que poner era el id del plan. Mil gracias por tus atenciones... Te di un gran merecido karma.
__________________
Caminando con el corazón partío

Etiquetas: dependiente, mysql, option, post, seleccionado, select, sql
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:51.