PHP - Recuperar valor seleccionado en un select

 
Vista:
sin imagen de perfil
Val: 6
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

Recuperar valor seleccionado en un select

Publicado por El mismo (124 intervenciones) el 21/09/2012 22:20:32
Hola tengo un pequeño problema que no se solventar.

Tengo 3 selects dinamicos los tipicos de ´Pais, Provincia y Poblaciones` que se rellenan perfectamente dependiendo de lo que vamos seleccionando, el problema es que no se como obtener el valor del ultimo select el que corresponde con las poblaciones y necesito ese valor para poder continuar.
Voy a poner el código completo para que me podais ayudar, en los dos primeros selects si consigo sacar el valor seleccionado de los mismos pero en el tercero no encuentro la forma.
Mirar si me podeis ayudar ya que no debe ser complicado pero no encuentro la forma:
Código de la página "index.php"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<head>
<script type="text/javascript" language="javascript" src="../js/Funciones.js"></script>
</head>
<?php
		require_once('../Connections/ConexionInmobiliaria.php');
 ?>
 
<body onLoad="limpiar()">
<div id="Contenedor">
<div id="Fondo">
<FORM NAME="form1">
<div id="ContPais">
  <div id="NomPais"><font color="#666666" style=" font-family:Verdana, Geneva, sans-serif; font-weight:bold; font-size:10pt">Seleccionar Lugar:</font></div><!-- Cierro NomGuias -->
  <div id="SelPais">
<?php
$sql="select* from pais order by pais asc";
$res=mysql_query($sql,$conexion);
?>
 
<select name="selpais" onChange="from(document.form1.selpais.value,'SelProvincia','Provincias.php')" id="selpais" size="1" class="Guias2">
<option value="0">Seleccione el pais</option>
 
<?php
while ($reg=mysql_fetch_array($res))
{
?>
<option value="<?php echo $reg["id"];?>"><?php echo $reg["pais"];?></option>
<?php
	}
?>
</select>
</div><!-- Cierro SelPais -->
</div><!-- Cierro ContPais -->
 
<div id="SelProvincia">
 
<select name="selprovincia" id="selprovincia" size="1" class="Guias2">
<option value="0">Seleccione la provincia</option>
</select>
</div><!-- Cierro SelProvincia -->
 
<div id="SelPoblacion">
 
<select name="selpoblacion"  id="selpoblacion" size="1" class="Guias2">
<option value="0">Seleccione la población</option>
</select>
</div><!-- Cierro SelPoblacion -->
</FORM>
</div> <!--Cierre fondo-->
 </div>  <!--Cierre Contenedor-->
</body>


Código de "Provincias.php"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
require_once('../Connections/ConexionInmobiliaria.php');
header("Content-Type: text/html;charset=iso-8859-1");
 
$sql="select* from provincias where Cod_Pais=".$_GET["id"]." order by Provincia asc";
$res=mysql_query($sql,$conexion);
?>
<select name="selprovincia" onChange="from(document.form1.selprovincia.value,'SelPoblacion','Poblaciones.php')" id="selprovincia" size="1" class="Guias2">
<option value="0">Seleccione la provincia</option>
 
<?php
while ($reg=mysql_fetch_array($res))
{
?>
<option value="<?php echo $reg["id"];?>"><?php echo $reg["Provincia"];?></option>
<?php
	}
?>
 
</select>



Código de "Poblaciones.php"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
require_once('../Connections/ConexionInmobiliaria.php');
header("Content-Type: text/html;charset=iso-8859-1");
 
$sql="select* from poblaciones where Cod_Provincia=".$_GET["id"]."";
$res=mysql_query($sql,$conexion);
 
?>
<select name="selpoblacion" id="selpoblacion" size="1" class="Guias2">
<option value="0">Seleccione la población</option>
 
<?php
while ($reg=mysql_fetch_array($res))
{
?>
<option value="<?php echo $reg["id"];?>"><?php echo $reg["Poblacion"];?></option>
<?php
	}
?>
</select>


Código "Funciones.js"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
function obtiene_http_request()
{
var req = false;
try
  {
    req = new XMLHttpRequest(); /* p.e. Firefox */
  }
catch(err1)
  {
  try
    {
     req = new ActiveXObject("Msxml2.XMLHTTP");
  /* algunas versiones IE */
    }
  catch(err2)
    {
    try
      {
       req = new ActiveXObject("Microsoft.XMLHTTP");
  /* algunas versiones IE */
      }
      catch(err3)
        {
         req = false;
        }
    }
  }
return req;
}
var miPeticion = obtiene_http_request();
//***************************************************************************************
function from(id,ide,url){
		var mi_aleatorio=parseInt(Math.random()*99999999);//para que no guarde la página en el caché...
		var vinculo=url+"?id="+id+"&rand="+mi_aleatorio;
		//alert(vinculo);
		miPeticion.open("GET",vinculo,true);//ponemos true para que la petición sea asincrónica
		miPeticion.onreadystatechange=miPeticion.onreadystatechange=function(){
               if (miPeticion.readyState==4)
               {
				   //alert(miPeticion.readyState);
                       if (miPeticion.status==200)
                       {
                                //alert(miPeticion.status);
                               //var http=miPeticion.responseXML;
                               var http=miPeticion.responseText;
                               document.getElementById(ide).innerHTML= http;
 
                       }
               }/*else
               {
			document.getElementById(ide).innerHTML="<img src='ima/loading.gif' title='cargando...' />";

                }*/
       }
       miPeticion.send(null);
 
}
//************************************************************************************************++
function limpiar()
{
	document.form1.reset();
 
}


Necesito recuperar el valor seleccionado del ultimo select el de las Poblaciones.
Espero que me podais ayudar, muchisimas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Recuperar valor seleccionado en un select

Publicado por xve (6935 intervenciones) el 22/09/2012 13:54:24
Como quieres obtener los valores, con javascript o desde php??

Si es con javascript, yo utilizaría su id, y si es con php con el $_POST... pero no creo que sea ese tu problema... si nos puedes comentar con mas detalle...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

Recuperar valor seleccionado en un select

Publicado por El mismo (124 intervenciones) el 23/09/2012 10:57:05
Gracias XVE por responderme, disculpa si mi comentario es un poco extenso, voy a explicar que he hecho hasta ahora, para solucionar este problema.

Veras en realidad me daria igual hacerlo en cualquiera de las dos formas que me sugieres ya que este código lo hice con un tutorial y lo adapte a lo que necesito, pero por desgracia mis conocimientos en programación de webs son muy escasos y por lo tanto la forma que preciso es aquella que sea la mas sencilla o aquella en la que me podais ayudar.

Como dije en la presentación de mi problema necesito obtener el valor seleccionado del tercer select "selpoblacion" de la página "Poblaciones.php" y pasarlo a una variable en mi página "index.php" para hacer la tipica consulta con los registros de mi base de datos.

Con el fín de buscar por mi mismo la solución y creyendo que el problema podria estar en dicho select sustitui el código "selpoblacion" de la página "Poblaciones.php" por este otro código:
1
2
<select name="selpoblacion" onchange="location.href='index.php?poblacion='+this.value;" id="selpoblacion" size="1" class="Guias2">
<option value="0">Seleccione la población</option>

de esta forma consigo el valor seleccionado de este select en mi página "index.php", que es lo que pretendo, pero esta solución no me vale porque me crea un nuevo problema, me refresca "index.php" y me pone por defecto los valores iniciales en todos los selects osea resetea los valores seleccionados de todos los selects, por lo tanto no me vale, os aseguro que he intentado buscar la forma de solucionarlo por mi mismo pero mis escasos conocimientos en estas materias no me han permitido encontrar la forma.

Os quedaria muy agradecido si me pudierais ayudar, muchas gracias a tod@s.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Recuperar valor seleccionado en un select

Publicado por xve (6935 intervenciones) el 24/09/2012 07:55:26
Hola, para que no se reseten los valores, desde php, puedes hacerlo algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<select name="selpoblacion" onchange="location.href='index.php?poblacion='+this.value;" id="selpoblacion" size="1" class="Guias2">
 
<?php
$valoresSelect=array(
    "0"=>"Selecciona la población",
    "1"=>"población1",
    "2"=>"población2",
    "3"=>"población3"
)
foreach($valoresSelect as $key=>$value)
{
    if($_POST["selpoblacion"]==$key)
        echo "<option value='".$key."' selected>".$value."</option>";
    else
        echo "<option value='".$key."'>".$value."</option>";
}
?>


De esta manera, por mucho que se resetee tu pagina, siempre dejara el ultima valor marcado.

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

Recuperar valor seleccionado en un select

Publicado por El mismo (124 intervenciones) el 24/09/2012 09:39:52
Hola de nuevo xve.

Gracias por las molestias que te estas tomando para hacerme la parte de código que no se hacer y poder solucionar mi problema.

Veras he probado el mismo y me deja el ultimo valor marcado pero me sigue reseteando el resto de selects por lo cual no me vale.

Me comentaste que se podia hacer en javascript y un colega que tampoco sabe mucho, me ha comentado que una vez se ha seleccionado una opción en un select, con una funcion de javascript se puede leer ese valor y pasarlo a una variable pero el no sabe como se hace. ¿Como se puede hacer?.

Mientras espero tu respuesta voy a buscar por la red a ver si encuentro la forma de hacerlo de esa manera. Gracias por tu paciencia.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Recuperar valor seleccionado en un select

Publicado por JOSH (1 intervención) el 25/06/2014 19:30:16
Q tal El mismo me encuentro con el mismo problema que el tuyo me gustaria saber como pudiste resolver tu problema, de antemano muchas gracias.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Recuperar valor seleccionado en un select

Publicado por Armando (2 intervenciones) el 25/02/2014 02:09:09
Saludos, usa JCombo, es un plugin muy bueno......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Recuperar valor seleccionado en un select

Publicado por Liliana (1 intervención) el 07/04/2015 18:30:13
Me encuentro en la misma situacion...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Recuperar valor seleccionado en un select

Publicado por Daniel Antonio Sánchez Romero (1 intervención) el 01/06/2017 18:18:50
Hola, para mostrar las opciones de un select sgún un option solo se hice lo siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// conexion en parte de arriba de html
$mysqli = new mysqli('127.0.0.1:3388', 'root', '', 'login');
 
if (!$mysqli) {
	die("Connection failed: " . mysqli_connect_error());
}
// html...
// pongo justo esto donde quiero mostrar las opciones.
<select name="tienda" required>
<option value="0">Tienda:</option>
    <?php
 
      $query = $mysqli -> query("SELECT * FROM tiendas");
 
      while ($valores = mysqli_fetch_array($query)) {
 
        echo '<option name="tienda" value="'.$valores[id_tienda].'">'. utf8_encode($valores[nombre]).'</option>';
 
      }
    ?>
</select>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar