Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/10/2011, 17:49
jcagl
 
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