PHP - Enviar datos de select dependiente

   
Vista:

Enviar datos de select dependiente

Publicado por Manuel (6 intervenciones) el 26/01/2015 14:53:59
Hola a todos

El siguiente código corresponde a dos select uno dependiente de otro, en este caso Países y Estados, y quiero enviarlos a otra otra página para que sean procesados(salida.php), el problema se produce cuando quiero enviar el dato seleccionado de estados, ya que este se encuentra en otra página (ajax.php).


Favor ayuda
Saludos.


-----------------------------------------------------------------------------0--------------------------------------------------------------------
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
<!DOCTYPE html>
<?php
include("conexion.php");
?>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Mi sitio</title>
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                $('#pais').change(function(){
                    var id=$('#pais').val();
                    $('#estados').load('ajax.php?id='+id);
                });
            });
        </script>
    </head>
    <body>
        <FORM ACTION="salida.php" method="POST"    >
        <?php
        $consulta=mysql_query("select id,pais from paises order by pais ASC");
        echo "<select name='pais' id='pais'>";
        while ($fila=mysql_fetch_array($consulta)){
            echo "<option value='".$fila[0]."'>".utf8_encode($fila[1])."</option>";
        }
        echo "</select>";
        ?>
        <div id="estados">
            <select name="edo">
                <option value="">Seleccione un pais</option>
            </select>
        </div>
                 	<INPUT TYPE="submit" NAME="accion" VALUE="Realizar Consulta">
        </FORM>
    </body>
</html>

-------------------------------------------------------0------------------------------------------------------------------------------------
ajax.php

1
2
3
4
5
6
7
8
9
<?php
include("conexion.php");
$consulta = mysql_query("select id,estado from estados where relacion=".$_GET['id']." order by estado ASC");
echo "<select name='pais' id='pais'>";
while ($fila = mysql_fetch_array($consulta)) {
    echo "<option value='" . $fila[0] . "'>" . utf8_encode($fila[1]) . "</option>";
}
echo "</select>";
?>

-------------------------------------------------------------------0-------------------------------------------------------------------------
conexion.php

1
2
3
4
5
6
<?php
 
$conexion=mysql_connect("localhost","root","");
$db=mysql_select_db("ejemplo");
 
?>

------------------------------------------------------------------0---------------------------------------------------------------------------
salida.php

1
$pais=$_POST['pais'];

------------------------------------------------------------------0------------------------------------------------------------------------------
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

Enviar datos de select dependiente

Publicado por xve (5515 intervenciones) el 26/01/2015 19:14:52
Hola Manuel, tu problema, creo que es por que ajax devuelve hasta el <select ...>

Yo lo que haría, sera devolver únicamente las opciones (<option>) del select (<select>).

Puedes probarlo y comentarnos?
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

Enviar datos de select dependiente

Publicado por Manuel (6 intervenciones) el 27/01/2015 15:52:38
Hola xve, primero que nada gracias por la respuesta, pero tampoco me da resultado lo que me indicas, lo que necesito es poder tomar el valor seleccionado en la página ajax.php y guardarlo en una variable, he pensado que la mejor opción es llevarlo a una variable de sesión y capturarla en la página salida.php, pero tampoco me ha dado resultado tomar esa opción seleccionada y llevarla a una variable php.

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
Imágen de perfil de xve

Enviar datos de select dependiente

Publicado por xve (5515 intervenciones) el 27/01/2015 19:51:49
Pero Manuel, el valor de la pagina ajax.php, se incluye dentro del formulario de tu pagina web, por lo que en el momento que realices el submit del formulario podrás obtener dicho valor desde el PHP.

El contenido de ajax.php, se incluye en la pagina web reemplazando el contenido del div con id=estados... por lo que no podrás crear una variable de sesión en el archivo ajax.php, ya que lo tiene que seleccionar el usuario, y lo selecciona en el navegador, donde no tienes acceso a variables de sesión hasta que se envié el formulario al servidor.

No se si es que no entiendo lo que me dices, o no me se explicar.. perdóname...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Enviar datos de select dependiente

Publicado por Manuel (6 intervenciones) el 28/01/2015 18:47:25
Hola xve muchas gracias por tus comentarios que me hicieron darme cuenta que el ID de estado no estaba bien nombrado, por ejemplo para el select estado cambie el nombre de país a estado y lo tomé en salida.php y obtuve el valor que necesitaba.

---------------------------------------------------------

"<select name='estado' id='estado''>
---------------------------------------------------------

$uno=$_POST['estado'];

--------------------------------------------------------


Lo mejor es que puedo realizar todas las cascadas de select que yo quiera y me dio resultado


Gracias por tu tiempo y ayuda

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

Enviar datos de select dependiente

Publicado por carlos Mario (18 intervenciones) el 28/01/2015 16:02:16
Hola jose manuel, no veo clara la interacción de ajax con las otras paginas. despues de la elección por parte del cliente debe haber un mecanismo como onchange, submit o dirección por escript. es allí donde dependiendo ese método envías el valor de la variable que requieras,

Espero te ayude en algo.
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

Enviar datos de select dependiente

Publicado por Manuel (6 intervenciones) el 28/01/2015 18:49:20
Gracias por tu respuesta Carlos Mario, el error era que no había nombrado bien el id del select dependiente.


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