Foros del Web » Programando para Internet » PHP »

como cargar consultas dependientes con ajax

Estas en el tema de como cargar consultas dependientes con ajax en el foro de PHP en Foros del Web. Hola a todos! soy nuevo en este foro. ANTES QUE NADA QUIERO FELICITARLOS POR ESTE MAGNIFICO ESPACIO QUE SIN DUDAD ALGUNA HA AYUDADO A MUCHOS. ...
  #1 (permalink)  
Antiguo 10/10/2011, 17:49
 
Fecha de Ingreso: octubre-2011
Mensajes: 2
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta como cargar consultas dependientes con ajax

Hola a todos! soy nuevo en este foro.
ANTES QUE NADA QUIERO FELICITARLOS POR ESTE MAGNIFICO ESPACIO QUE SIN DUDAD ALGUNA HA AYUDADO A MUCHOS.

Bueno les expongo mi problema!
quiero cargar consultas dependientes aclaro (no select)
tengo 3 consultas

la primera en el index

cargo los servicios:(ejemplo)
Servicios
-imprentas
-soporte

filtro por categoria (abajo dejo el codigo de la consulta)

categoria=categoria
y paso esta variable por url, para posteriormente filtrar en la segunda consulta que es municipios (hasta aqui la carga sin problemas);

<?php require_once('Connections/cn.php'); ?>
<?php
mysql_select_db($database_cn, $cn);
$query_servicios = "SELECT * FROM servicios ORDER BY id ASC";
$servicios = mysql_query($query_servicios, $cn) or die(mysql_error());
$row_servicios = mysql_fetch_assoc($servicios);
$totalRows_servicios = mysql_num_rows($servicios);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Documento sin t&iacute;tulo</title>
<link href="estilo.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="ajax.js"></script>
</head>
<body>
<div id="content">
SERVICIOS
<div id="servicios">
<?php do { ?>

<a href="javascript:Solicitud('municipios.php?categor ia=<?php echo $row_servicios['categoria']; ?>','pagina')"><?php echo $row_servicios['nom_ser']; ?></a><br />

<?php } while ($row_servicios = mysql_fetch_assoc($servicios)); ?>
</div>MUNICIPIOS
<div id="pagina" style="background:#3399FF;"></div>
COLONIAS
<div id="pagina2" style="background:#3399FF;"></div>

</div>
</body>
</html>
<?php
mysql_free_result($servicios);
?>

aqui el codigo ajax
var Conexion=false; // Variable que manipula la conexion.

// funcion que realiza la conexion con el objeto XMLHTTP...
function Conectar()
{
if(window.XMLHttpRequest)
Conexion=new XMLHttpRequest(); //mozilla
else if(window.ActiveXObject)
Conexion=new ActiveXObject("Microsoft.XMLHTTP"); //microsoft
}

function Contenido(idmunicipio)
{

if(Conexion.readyState!=4) return;

if(Conexion.status==200) // Si conexion HTTP es buena !!!
{

document.getElementById(idmunicipio).innerHTML=Con exion.responseText;
}else{
document.getElementById(idmunicipio).innerHTML=Con exion.status+"-"+Conexion.statusText;
}

Conexion=false;
}

function Solicitud(Servidor,idmunicipio)
{

if(Conexion) return; // Previene uso repetido del boton.


Conectar();

if(Conexion)
{

Conexion.open("POST",Servidor,true);


Conexion.onreadystatechange=function()
{
Contenido(idmunicipio);
}


Conexion.send(null);
}else
document.getElementById(idmunicipio).innerHTML="No disponible";
}

window.onload=function()
{
Solicitud("municipios.php","pagina");

}


aqui el codigo municipios

<?php require_once('Connections/cn.php'); ?>
<?php
$categoria=$_GET['categoria'];
mysql_select_db($database_cn, $cn);
$query_municipios = sprintf("SELECT * FROM municipio WHERE categoria = '$categoria' ORDER BY id ASC", $colname_municipios);
$municipios = mysql_query($query_municipios, $cn) or die(mysql_error());
$row_municipios = mysql_fetch_assoc($municipios);
$totalRows_municipios = mysql_num_rows($municipios);
?>
<script type="text/javascript" src="ajax2.js"></script>

<?php do { ?>
<a href="javascrip:Solicitud('colonias.php?categoria= <?php echo $row_municipios['categoria']; ?>','pagina2' "> <?php echo $row_municipios['nom_mu']; ?> </a><br />
<?php } while ($row_municipios = mysql_fetch_assoc($municipios)); ?>


posteriormente tengo otra consulta que es colonias y este es el codigo con el que intento pasar la misma variable con el mismo ajax pero no me lo hace

este es el codigo de la consulta colonias




<?php require_once('Connections/cn.php'); ?>
<?php
$categoria=$_GET['categoria'];
mysql_select_db($database_cn, $cn);
$query_colonias = sprintf("SELECT * FROM colonias WHERE categoria = '$categoria'", $colname_colonias);
$colonias = mysql_query($query_colonias, $cn) or die(mysql_error());
$row_colonias = mysql_fetch_assoc($colonias);
$totalRows_colonias = mysql_num_rows($colonias);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<?php do { ?>
<a href="direccion.php?categoria=<?php echo $row_colonias['categoria']; ?>"><?php echo $row_colonias['nom_col']; ?></a><br />
<?php } while ($row_colonias = mysql_fetch_assoc($colonias)); ?></body>
</html>
<?php
mysql_free_result($colonias);
?>

si alguien me puede ayudar se lo agradecería mucho
gracias y espero de antemano su ayuda
  #2 (permalink)  
Antiguo 11/10/2011, 06:48
Avatar de mft
mft
 
Fecha de Ingreso: abril-2003
Ubicación: *
Mensajes: 239
Antigüedad: 21 años
Puntos: 4
Respuesta: como cargar consultas dependientes con ajax

Porqué no te das una vuelta por aquí, esto me fue de mucha ayuda, ahi vienen ejemplos para 2 listas y de 3 listas con ajax.

saludos!!

http://www.formatoweb.com.ar/ajax/se..._3_niveles.php
__________________
Lo que haces, determina lo que eres.
Saludos!
  #3 (permalink)  
Antiguo 14/10/2011, 17:45
 
Fecha de Ingreso: octubre-2011
Mensajes: 2
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: como cargar consultas dependientes con ajax

Muchas gracias!
por la respuesta
aunque lo que intento hacer es algo diferente no quiero utilizar combos

lo que intento es pasar la variable por la url y realizar una consulta de acuerdo a la variable.

luego cargar los datos de en un lista (li) normal.


saludos y gracias nuevamente

Etiquetas: ajax, dependientes, html, mysql, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:37.