PHP - pasar una variable

   
Vista:

pasar una variable

Publicado por zendi (824 intervenciones) el 14/06/2015 05:23:27
Hola a todos. Estoy pasando estas variables por get con estos codigos, pero no esta funcionando por favor ayudenme, espero haya explicado bien la problematica


la idea es pasar el valor del municipio al combo de parroquia inmediatamente cuando lo haya seleccionado

combo de municipio

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$id = $_GET['id'];
$sql="select * from municipios where municipios.cod_ent= '$id' order by descripcion";
 
$res=@pg_query($connect,$sql);
?>
Municipio:
<select name="municipio" onchange="from(document.form.municipio.value,'parr','parroquias.php')">
<option value="1">Seleccione el Municipio</option>
 
<?php
while ($reg=pg_fetch_array($res))
{
 
?>
<option value="<?php echo $reg["codigo"];?>"> <?php echo ponetilde($reg["descripcion"]);?></option>
<?php
}
?>
 
</select>

el combo de parroquia

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
echo $ide= $_GET['id'];
$idm =  $_GET['municipio'];
 
$sql ="SELECT * FROM parroquias WHERE cod_ent='$ide'  and cod_mun='$idm' ORDER BY descripcion";
echo $sql;
$res=pg_query($connect,$sql);
?>
 
Parroquia:
<select name="parr" onchange="from(document.form.mun.value,'parr','parroquias.php')">
<option value="0">Seleccione la Parroquia</option>
 
<?php
while ($reg=@pg_fetch_array($res))
{
?>
<option value="<?php echo $reg["codigo"];?>"><?php echo ponetilde($reg["descripcion"]);?></option>
<?php
}
?>
</select>

aun cuando este no es post para postgresql estas son las estructuras de las tablas para municipios y parroquias

CREATE TABLE municipios
(
cod_ent character(2) NOT NULL,
codigo character(2) NOT NULL,
descripcion character varying(30) NOT NULL,
CONSTRAINT municipios_pkey PRIMARY KEY (cod_ent, codigo),
CONSTRAINT municipios_cod_ent_fkey FOREIGN KEY (cod_ent)
REFERENCES estados (codigo) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE CASCADE
)

CREATE TABLE parroquias
(
cod_ent character(2) NOT NULL,
cod_mun character(2) NOT NULL,
codigo character(2) NOT NULL,
descripcion character varying(40) NOT NULL,
CONSTRAINT parroquias_pkey PRIMARY KEY (cod_ent, cod_mun, codigo),
CONSTRAINT parroquias_cod_ent_fkey FOREIGN KEY (cod_ent, cod_mun)
REFERENCES municipios (cod_ent, codigo) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE CASCADE
)
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

pasar una variable

Publicado por xve (5512 intervenciones) el 14/06/2015 18:24:40
Hola Zendi, nos puedes mostrar el formulario entero? <form...>
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

pasar una variable

Publicado por zendi (824 intervenciones) el 14/06/2015 22:52:54
hola Xve.
este es el codigo para estados:

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
<html>
<head>
<title>Combos Din&aacute;micos</title>
<script type="text/javascript" language="javascript" src="funciones.js"></script>
</head>
 
<body onload="limpiar()">
<h3>Complete los siguientes datos</h3>
<form name="form">
 
<div>
<?php
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
$connect = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=movilnet");
 
$sql="select * from estados order by descripcion asc";
$res=@pg_query($connect,$sql);
?>
Estado:								  <!--funcion ajax id,ide,url-->
<select name="estado" div="" onchange="from(document.form.estado.value,'mun','municipios.php')">
<option value="0">Seleccione el Estado</option>
 
<?php
while ($reg=pg_fetch_array($res))
		{
		?>
		<option value="<?php echo $reg["codigo"];?>"><?php echo ponetilde($reg["descripcion"]);?></option>
		<?php
		}
?>
</select>
</div>
<hr />
<div id="mun">
Municipio:
<select name="mun">
<option value="0">Seleccione el municipio</option>
</select>
</div>
<hr />
<div id="parr">
Parroquia:
<select name="parr">
<option value="0">Seleccione la parroquia</option>
</select>
</div>
 
</form>
 
</body>
</html>

este es para los municipios:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$connect = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=movilnet");
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
 
$id = $_GET['id'];
 
$sql="select * from municipios where municipios.cod_ent= '$id' order by descripcion";
 
$res=@pg_query($connect,$sql);
?>
Municipio:
<select name="municipio" onchange="from(document.form.municipio.value,'parr','parroquias.php')">
<option value="1">Seleccione el Municipio</option>
 
<?php
while ($reg=pg_fetch_array($res))
{
 
?>
<option value="<?php echo $reg["codigo"];?>"> <?php echo ponetilde($reg["descripcion"]);?></option>
<?php
}
?>
</select>

y este para las parroquias:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$connect = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=movilnet");
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
echo $ide= $_GET['id'];
 
$idm =  $_GET['municipio'];
 
$sql ="SELECT * FROM parroquias WHERE cod_ent='$ide'  and cod_mun='$idm' ORDER BY descripcion";
$res=pg_query($connect,$sql);
?>
 
Parroquia:
<select name="parr" onchange="from(document.form.mun.value,'parr','parroquias.php')">
<option value="0">Seleccione la Parroquia</option>
 
<?php
while ($reg=@pg_fetch_array($res))
{
?>
<option value="<?php echo $reg["codigo"];?>"><?php echo ponetilde($reg["descripcion"]);?></option>
<?php
}
?>
</select>


y este es el codigo ajax desde donde utilizo la funcion from():

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.form.reset();
 
}
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

pasar una variable

Publicado por zendi (824 intervenciones) el 15/06/2015 21:23:06
Hola xve, en los formularios de estado municipio y parroquia, olvidé quitar la funcion ponetilde($reg["descripcion"]),
si estas tratando de ver como se haya la solucion no le des importancia.

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

pasar una variable

Publicado por zendi (824 intervenciones) el 16/06/2015 04:37:30
Hola Xve, bueno disculpa que no habia captado bien tu pregunta.
Te envio el codigo entero:

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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<html>
<head>
<title>Combos Din&aacute;micos</title>
<script type="text/javascript" language="javascript" src="funciones.js"></script>
</head>
 
<body onload="limpiar()">
<h3>Complete los siguientes datos</h3>
<form name="form">
 
<div>
<?php
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
$connect = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=movilnet");
 
$sql="select * from estados order by descripcion asc";
$res=@pg_query($connect,$sql);
?>
Estado:								  <!--funcion ajax id,ide,url-->
<select name="estado" div="" onchange="from(document.form.estado.value,'mun','municipios.php')">
<option value="0">Seleccione el Estado</option>
 
<?php
while ($reg=pg_fetch_array($res))
		{
		?>
		<option value="<?php echo $reg["codigo"];?>"><?php echo $reg["descripcion"];?></option>
		<?php
		}
?>
</select>
</div>
<hr />
 
 
<div id="mun">
Municipio:
<select name="mun">
<option value="0">Seleccione el municipio</option>
</select>
</div>
 
 
<hr />
<div id="parr">
Parroquia:
<select name="parr">
<option value="0">Seleccione la parroquia</option>
</select>
</div>
 
</form>
 
</body>
</html>
 
<?php
$connect = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=movilnet");
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
$id = $_GET['id'];
 
$sql="select * from municipios where municipios.cod_ent= '$id' order by descripcion";
 
 
$res=@pg_query($connect,$sql);
?>
Municipio:
<select name="municipio" onchange="from(document.form.municipio.value,'parr','parroquias.php')">
<option value="1">Seleccione el Municipio</option>
 
<?php
while ($reg=pg_fetch_array($res))
{
 
?>
<option value="<?php echo $reg["codigo"];?>"> <?php echo $reg["descripcion"];?></option>
<?php
}
?>
 
</select>
 
<?php
$connect = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=movilnet");
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
 
echo $ide= $_GET['id'];
 
$idm =  $_GET['municipio'];
 
$sql ="SELECT * FROM parroquias WHERE cod_ent='$ide'  and cod_mun='$idm' ORDER BY descripcion";
echo $sql;
$res=pg_query($connect,$sql);
?>
 
Parroquia:
<select name="parr" onchange="from(document.form.mun.value,'parr','parroquias.php')">
<option value="0">Seleccione la Parroquia</option>
 
<?php
while ($reg=@pg_fetch_array($res))
{
?>
<option value="<?php echo $reg["codigo"];?>"><?php echo $reg["descripcion"];?></option>
<?php
}
?>
 
</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
Imágen de perfil de xve

pasar una variable

Publicado por xve (5512 intervenciones) el 16/06/2015 07:21:40
Hola Zendi, me estoy liando... esto que me has mostrado, es un solo archivo?
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

pasar una variable

Publicado por zendi (824 intervenciones) el 16/06/2015 13:42:22
Que tal Xve, no, en realidad son tres archivos y la funcion ajax
El asunto fue que tu me pediste que te enviara los codigos juntos.
Me hiciste esta pregunta:
"Hola Zendi, nos puedes mostrar el formulario entero? <form...>", entendí que los debia enviar juntos.
los archivos son uno para estados, otro para municipios y otro para parroquias.

Los envio nuevamente:

estados:
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
<html>
<head>
<title>Combos Din&aacute;micos</title>
<script type="text/javascript" language="javascript" src="funciones.js"></script>
</head>
 
<body onload="limpiar()">
<h3>Complete los siguientes datos</h3>
<form name="form">
 
<div>
<?php
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
$connect = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=movilnet");
 
$sql="select * from estados order by descripcion asc";
$res=@pg_query($connect,$sql);
?>
Estado:								  <!--funcion ajax id,ide,url-->
<select name="estado" div="" onchange="from(document.form.estado.value,'mun','municipios.php')">
<option value="0">Seleccione el Estado</option>
 
<?php
while ($reg=pg_fetch_array($res))
		{
		?>
		<option value="<?php echo $reg["codigo"];?>"><?php echo $reg["descripcion"];?></option>
		<?php
		}
?>
</select>
</div>
<hr />
 
 
<div id="mun">
Municipio:
<select name="mun">
<option value="0">Seleccione el municipio</option>
</select>
</div>
 
 
<hr />
<div id="parr">
Parroquia:
<select name="parr">
<option value="0">Seleccione la parroquia</option>
</select>
</div>
 
</form>
 
</body>
</html>

municipios:

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
<?php
$connect = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=movilnet");
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
$id = $_GET['id'];
 
$sql="select * from municipios where municipios.cod_ent= '$id' order by descripcion";
 
 
$res=@pg_query($connect,$sql);
?>
Municipio:
<select name="municipio" onchange="from(document.form.municipio.value,'parr','parroquias.php')">
<option value="1">Seleccione el Municipio</option>
 
<?php
while ($reg=pg_fetch_array($res))
{
 
?>
<option value="<?php echo $reg["codigo"];?>"> <?php echo $reg["descripcion"];?></option>
<?php
}
?>
 
</select>

parroquias:

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
<?php
$connect = pg_connect("host=localhost port=5432 dbname=pediatria user=postgres password=movilnet");
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
echo $ide= $_GET['id'];
 
$idm =  $_GET['municipio'];
 
$sql ="SELECT * FROM parroquias WHERE cod_ent='$ide'  and cod_mun='$idm' ORDER BY descripcion";
echo $sql;
$res=pg_query($connect,$sql);
?>
 
Parroquia:
<select name="parr" onchange="from(document.form.mun.value,'parr','parroquias.php')">
<option value="0">Seleccione la Parroquia</option>
 
<?php
while ($reg=@pg_fetch_array($res))
{
?>
<option value="<?php echo $reg["codigo"];?>"><?php echo $reg["descripcion"];?></option>
<?php
}
?>
 
</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
Imágen de perfil de xve

pasar una variable

Publicado por xve (5512 intervenciones) el 16/06/2015 15:41:56
Hola Zendi, gracias por adjuntarme el código entero... yo te lo pedi, porque si esto que me has publicado es la pagina entera, no entendia muy bien el código...

Ahora creo que lo entiendo... lo que haces es una petición AJAX con javascript y cargas la pagina indicada según la selección... yo el formulario lo veo bien, y he probado y el valor lo coges correctamente con document.form.estado.value...

Revisa si llega correctamente al archivo de javascript... en la linea:
1
alert(vinculo);
Te devuelve el id correctamente?
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

pasar una variable

Publicado por zendi (824 intervenciones) el 17/06/2015 00:00:19
Que tal xve, bueno si devuelve el id correctamente pero llega hasta los municipios, de todos modos te envio graficamente lo que devuelve, cuando selecciono el estado AMAZONAS devuelve municipios.php?id=02&rand=57909805 (este numero es un aleatorio)
cuando selecciono el municipio ALTO ORINOCO devuelve parroquias.php?id=01&rand=55055943 (este numero es un aleatorio)
y para el combo parroquias no trae nada.
de todos modos te adjunto las imagenes
y tambien las tablas con los estados, municipios y parroquias en postgresql para que observes la estructura.
estados
municipios
parroquias

al seleccionar un municipio yo coloqué este query:
01SELECT * FROM parroquias WHERE cod_ent='01' and cod_mun='' ORDER BY descripcion
el cod_mun es el eslabon que faltaria para ubicar la parroquia, ese es lo que no logro ver de donde obtenerlo, es una seguidilla de variables.
He pensado que tal vez falta una variable en el archivo javascript para ubicar el famoso COD_MUN.

Nota: son ubicaciones politico-administrativas de venezuela, asi esta formada.
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