Ver Mensaje Individual
  #16 (permalink)  
Antiguo 10/11/2011, 14:26
Sirrohan
 
Fecha de Ingreso: julio-2010
Mensajes: 275
Antigüedad: 14 años, 8 meses
Puntos: 21
Respuesta: validad un select que es php... no html

Yo lo que hice fue esto:
busqueda.php
Código PHP:
Ver original
  1. function generaSelect()
  2. {
  3.     include 'conexion.php';
  4.     conectar();
  5.     $consulta=pg_query("SELECT id, nombre FROM tabla");
  6.     desconectar();
  7.  
  8.     // Voy imprimiendo el primer select compuesto por los paises
  9.     echo "<select name='select1' id='uno' onChange='cargaContenido(this.id)'>";
  10.     echo "<option value='0'>Elige</option>";
  11.     while($registro=pg_fetch_row($consulta))
  12.     {
  13.         echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
  14.         $_SESSION['array'][]=$registro[0];//Se almacena la primera consulta en el arreglo de sesiones
  15.     }
  16.     echo "</select>";
  17. }
proceso.php
Código PHP:
Ver original
  1. if(validaSelect($selectDestino) && validaOpcion($opcionSeleccionada))
  2. {
  3.     $tabla=$listadoSelects[$selectDestino];
  4.     include 'conexion.php';
  5.     conectar();
  6.     $consulta=pg_query("SELECT id, nombre FROM $tabla WHERE num='$opcionSeleccionada'");
  7.     desconectar();
  8.     // Comienzo a imprimir el select
  9.     echo "<select name='".$selectDestino."' id='".$selectDestino."' onChange='cargaContenido(this.id)'>";
  10.     echo "<option value='0'>Elige</option>";
  11.     while($registro=pg_fetch_row($consulta))
  12.     {
  13.         // Convierto los caracteres conflictivos a sus entidades HTML correspondientes para su correcta visualizacion
  14.         $registro[1]=utf8_encode($registro[1]);
  15.         // Imprimo las opciones del select
  16.         echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
  17.         $_SESSION['array'][]=$registro[0]; //Almaceno los Selects en un arreglo de sesiones
  18.     }
  19.     if ($selectDestino)
  20.     echo "</select>";
  21. }

Y esto en el resultado:
Código PHP:
Ver original
  1. $listadoSelects=array(
  2. "select1"=>"uno",
  3. "select2"=>"dos",
  4. "select3"=>"tres",
  5. "select4"=>"cuatro",
  6. "select5"=>"cinco"
  7. );
  8. /* Si quieras prueba esto descomentandolo para chequear los valores de los selects
  9. echo "uno=\n\n".$_POST['select1'];
  10. echo " dos=\n\n".$_POST['select2'];
  11. echo " tres=\n\n".$_POST['select3'];
  12. echo " cuatro=\n\n".$_POST['select4'];
  13. echo " cinco=\n\n".$_POST['select5'];*/
  14.  
  15.  
  16. $select[1]=$_POST['select1'];
  17. $select[2]=$_POST['select2'];
  18. $select[3]=$_POST['select3'];
  19. $select[4]=$_POST['select4'];
  20. $select[5]=$_POST['select5'];

En este caso tengo 5 selects dependientes, y todos funcionan correctamente, con el arreglo de sesiones

Última edición por Sirrohan; 10/11/2011 a las 14:35