Ayuda para mostrar resultados de tres combos dinamicos al hacer clic en boton
Comenzado por
rzv1317
, ago 31 2011 11:59
8 respuestas en este tema
#1
Escrito 31 agosto 2011 - 11:59
Necesito q me ayuden con el codigo para mostrar el resultado de tres combos dinamicos al hacer clic en un boton y mostrarlo en una tabla en php.
#2
Escrito 31 agosto 2011 - 12:06
Necesito q me ayuden con el codigo para mostrar el resultado de tres combos dinamicos al hacer clic en un boton y mostrarlo en una tabla en php.
Pues con gusto te ayudamos, pero podrías detallar un poco más tu duda o problema?
#3
Escrito 31 agosto 2011 - 12:31
Este es el codigo php de los combos anidados.
a esta pagina quiero agregarle un boton y al hacer clic q me muestre la consulta en una tabla.
a esta pagina quiero agregarle un boton y al hacer clic q me muestre la consulta en una tabla.
<?php
require_once("conexion/conexion.php");
?>
<html>
<head>
<title>Combos Dinámicos</title>
<script type="text/javascript" language="javascript" src="js/funciones.js"></script>
</head>
<body onLoad="limpiar()">
<h3>Complete los siguientes datos</h3>
<form name="form">
<div>
<?php
$sql="select * from region order by region asc";
$res=mysql_query($sql,$con);
?>
Región:
<select name="region" onChange="from(document.form.region.value,'ciudad','ciudad.php')">
<option value="0">Seleccione la región</option>
<?php
while ($reg=mysql_fetch_array($res))
{
?>
<option value="<?php echo $reg["id"];?>"><?php echo $reg["region"];?></option>
<?php
}
?>
</select>
</div>
<div id="ciudad">
Ciudad:
<select name="ciudad">
<option value="0">Seleccione la ciudad</option>
</select>
</div>
<div id="comuna">
Comunas:
<select name="comuna">
<option value="0">Seleccione la comuna</option>
</select>
</div>
</form>
</body>
</html>
#4
Escrito 31 agosto 2011 - 12:58
Yo lo hago de la siguiente manera: Con ajax invoco un script de phpo que mde devuelve la información ya formateada y una vez que al recibo la incrusto en el div donde quiero que aparezca
[java]
function borralimp(idOrd,Consec) {
adiv=document.getElementById("detlimp");
var ajax=nuevoAjax();
ajax.open("GET", "index.php?action=OrdComp&option=rmvLimp&idord="+idOrd+"&consec="+Consec,true);
ajax.onreadystatechange=function() {
if (ajax.readyState==1) {
adiv.innerHTML= "<table width='100%'><tr><td>Eliminando limpiador...</td></tr></table>";
}
if (ajax.readyState==4)
adiv.innerHTML= ajax.responseText;
}
ajax.send(null);
}
[/java]
[java]
function borralimp(idOrd,Consec) {
adiv=document.getElementById("detlimp");
var ajax=nuevoAjax();
ajax.open("GET", "index.php?action=OrdComp&option=rmvLimp&idord="+idOrd+"&consec="+Consec,true);
ajax.onreadystatechange=function() {
if (ajax.readyState==1) {
adiv.innerHTML= "<table width='100%'><tr><td>Eliminando limpiador...</td></tr></table>";
}
if (ajax.readyState==4)
adiv.innerHTML= ajax.responseText;
}
ajax.send(null);
}
[/java]
#5
Escrito 31 agosto 2011 - 01:09
gracias por tu ayuda, pero si pudieras ayudarme ha hacerlo sin usar clases ni ajax por ahora, solo con php.
#6
Escrito 31 agosto 2011 - 01:19
Estimado
No capto porque no quieres ajax si estas tratando de usarlo en el script
Si asi fuere solamente tendrias que recoger el resultado que viene por post en una tabla en otra pagina
[java]
echo $_POST['ciudad']."<br/>";
echo $_POST['region']."<br/>";
echo $_POST['comuna']."<br/>";
[/java]
Pero tendrias que ir a otra pagina para recargar
Si lo que quieres es mostrar el resultado de los tres option en un div en la misma pagina puedes hacer lo siguiente
La pagina con los select
[java]
<html>
<head></head>
<html>
<body>
<form name="form">
<div>
Región:
<select name="region">
<option value="0">Seleccione la región</option>
<option value="chile">chile</option>
<option value="chile">chile</option>
<option value="chile">chile</option>
</select>
</div>
<div id="ciudad">
Ciudad:
<select name="ciudad">
<option value="0">Seleccione la ciudad</option>
<option value="concepcion">chile</option>
<option value="argentina">chile</option>
</select>
</div>
<div id="comuna">
Comunas:
<select name="comuna">
<option value="0">Seleccione la comuna</option>
<option value="san miguel">chile</option>
<option value="providencia">chile</option>
</select>
</div>
<input type="button" onclick="from(document.form.region.value,document.form.ciudad.value,document.form.comuna.value);" value="enviar"/>
</form>
<div id="info"></div>
</body>
</html>
<script language="JavaScript" type="text/javascript">
// Desarrollado por www.guinet.cl-ricardo@guinet.cl
function getXMLHTTPRequest()
{
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 = getXMLHTTPRequest();
//***************************************************************************************
function from(pa,ci,co){
var mi_aleatorio=parseInt(Math.random()*99999999);//para que no guarde la página en el caché...
var vinculo="ajax?pa=" pa "&rand=" mi_aleatorio "&ci=" ci "&co=" co;
//alert(vinculo);
miPeticion.open("GET",vinculo,true);//ponemos true para que la petición sea asincrónica
//con onreadysatetchange ajax monitorea la peticion
//que se envia al servidor y el estado en el que se encuentra
miPeticion.onreadystatechange=miPeticion.onreadystatechange=function(){
//alert("ready_State=" miPeticion.readyState);
//El estado de la peticion esta lista
if (miPeticion.readyState==4)
{
//alert(miPeticion.readyState);
//alert("status =" miPeticion.status);
if (miPeticion.status==200)
{
//alert(miPeticion.status);
//var http=miPeticion.responseXML;
//alert("http=" http);
var http=miPeticion.responseText;
//agregamos los registros al div registros
document.getElementById("info").innerHTML= http;
}
else{
alert("Ha ocurrido un error desde el servidor" miPeticion.statusText);
}
}
}
//envio el contenido,pero cuando es get es null
miPeticion.send(null);
}
</script>
[/java]
La pagina ajax.php
[java]
<?php
$region=$_GET['pa'];
$comuna=$_GET['ci'];
$ciudad=$_GET['co'];
echo "region ".$region."<br/>";
echo "comuna ".$comuna."<br/>";
echo "ciudad ".$ciudad."<br/>";
?>
[/java]
No capto porque no quieres ajax si estas tratando de usarlo en el script
Si asi fuere solamente tendrias que recoger el resultado que viene por post en una tabla en otra pagina
[java]
echo $_POST['ciudad']."<br/>";
echo $_POST['region']."<br/>";
echo $_POST['comuna']."<br/>";
[/java]
Pero tendrias que ir a otra pagina para recargar
Si lo que quieres es mostrar el resultado de los tres option en un div en la misma pagina puedes hacer lo siguiente
La pagina con los select
[java]
<html>
<head></head>
<html>
<body>
<form name="form">
<div>
Región:
<select name="region">
<option value="0">Seleccione la región</option>
<option value="chile">chile</option>
<option value="chile">chile</option>
<option value="chile">chile</option>
</select>
</div>
<div id="ciudad">
Ciudad:
<select name="ciudad">
<option value="0">Seleccione la ciudad</option>
<option value="concepcion">chile</option>
<option value="argentina">chile</option>
</select>
</div>
<div id="comuna">
Comunas:
<select name="comuna">
<option value="0">Seleccione la comuna</option>
<option value="san miguel">chile</option>
<option value="providencia">chile</option>
</select>
</div>
<input type="button" onclick="from(document.form.region.value,document.form.ciudad.value,document.form.comuna.value);" value="enviar"/>
</form>
<div id="info"></div>
</body>
</html>
<script language="JavaScript" type="text/javascript">
// Desarrollado por www.guinet.cl-ricardo@guinet.cl
function getXMLHTTPRequest()
{
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 = getXMLHTTPRequest();
//***************************************************************************************
function from(pa,ci,co){
var mi_aleatorio=parseInt(Math.random()*99999999);//para que no guarde la página en el caché...
var vinculo="ajax?pa=" pa "&rand=" mi_aleatorio "&ci=" ci "&co=" co;
//alert(vinculo);
miPeticion.open("GET",vinculo,true);//ponemos true para que la petición sea asincrónica
//con onreadysatetchange ajax monitorea la peticion
//que se envia al servidor y el estado en el que se encuentra
miPeticion.onreadystatechange=miPeticion.onreadystatechange=function(){
//alert("ready_State=" miPeticion.readyState);
//El estado de la peticion esta lista
if (miPeticion.readyState==4)
{
//alert(miPeticion.readyState);
//alert("status =" miPeticion.status);
if (miPeticion.status==200)
{
//alert(miPeticion.status);
//var http=miPeticion.responseXML;
//alert("http=" http);
var http=miPeticion.responseText;
//agregamos los registros al div registros
document.getElementById("info").innerHTML= http;
}
else{
alert("Ha ocurrido un error desde el servidor" miPeticion.statusText);
}
}
}
//envio el contenido,pero cuando es get es null
miPeticion.send(null);
}
</script>
[/java]
La pagina ajax.php
[java]
<?php
$region=$_GET['pa'];
$comuna=$_GET['ci'];
$ciudad=$_GET['co'];
echo "region ".$region."<br/>";
echo "comuna ".$comuna."<br/>";
echo "ciudad ".$ciudad."<br/>";
?>
[/java]
#7
Escrito 31 agosto 2011 - 01:26
Caray compañero squall2501, tus funciones si que están bastante elaboradas. jejeje. Gracias por compartirlas.
#8
Escrito 31 agosto 2011 - 02:05
como no si tuve al gran cesar cancino de profe jejeje
#9
Escrito 31 agosto 2011 - 03:02
Hola rvz1317 con poner un botón submit y usar el array asociativo post bastaría para recuperar esos datos con php.....gracias por cierto a squall2501 por sus palabras...
saludos..
saludos..