Hola cluster, error de js no tengo ya que no aparece el signo (!)amarillo, el punto es que no aparece nada en la pagina sale todo en blanco.
y como estoy re100 tratando de meterme en esto de ajax, no entiendo mucho y lo pero es que no me arroja ningun error.
bueno aqui te dejo mis archivos que estan dentro de la carpeta de la libreria xajax.
ojalas me puedan ayudar a entender mas ajax.
salu2
archivo index.php
Código PHP:
echo "<script language=\"JavaScript\" src=\"ejemplo1.js\"></script>";//Archivo que lleva las funciones javascript
include_once("server1.server.php"); #servidor para XAJAX
$xajax->printJavascript();
?>
<body onload="actu();">
<div id="barrio" class="visible"></div>
</body>
archivo ejemplo1.js
Código PHP:
function actu(){//Funcion que es llamada continuamente
xajax_menu_barrio;
setTimeout("menu_barrio;",1000);
}
function menu_barrio(cual){//Funcion que es llamada al selecionar uno de los elementos del primer select
str_guardar = document.getElementById(cual).value;//Recojo el valor del select
xajax_actualizar(str_guardar);//Llamo a la funcion actualizar del server1.server.php con el prefijo xajax y pasandole como argumento el pueblo seleccionado
document.getElementById("barrio").className ="normal";//Le aplico el estilo que me de la gana al nuevo select
}
archivo server1.server.php
Código PHP:
<?php
//CONTIENE FUNCIONES PHP QUE SON LLAMADAS DIRECTAMENTE DESDE AJAX PARA QUE HAGAN COSAS
require("xajax.inc.php");//Incluimos la libreria xajax
// Servidor de la Base de Datos
$servidorBD="localhost";
// Usuario de la Base de Datos
$usuarioBD="root";
// Contraseña de la Base de Datos
$passBD="";
// Nombre de la Base de Datos
$nombreBD="zsamer";
// Conecto con la base de datos
$conectar = mysql_connect($servidorBD,$usuarioBD,$passBD) or die ("Imposible conectar con la base de datos");
// Selecciono la BBDD
mysql_select_db($nombreBD,$conectar) or die ("Imposible conectar con la base de datos");
function actualizar($muni){//Funcion que llamaremos desde el primer select para crear el segundo
$sql = "SELECT * FROM `barrio` ORDER BY Valor";
$result = mysql_query( $sql ) or die (mysql_error());
if (mysql_affected_rows() != 0){
$resultado = "<select class=\"inputbox\" name=\"VALORES[Barrio]\">";
$resultado .= "<option value=''>Todos los barrios</option> \n";
while ( $arr_asoc = mysql_fetch_array( $result ) ) {
// Codificar a UTF-8 y añadir "escapes" caracters que den problemas.
$valor = addslashes($arr_asoc['Valor']);
$valor .= utf8_encode($valor);
$resultado .= "<option value='" . $arr_asoc['ID_Barrio'] . "'>" . $valor . " (" . $arr_asoc['count(*)'] . ")</option> \n";
}
$resultado .= "</select>";
$resultado = tildes( $resultado );
}else{
$resultado = "Municipio sin barrios";
} //Como ves todo lo ponemos dentro de una variable tipo cadena que se llama \$resultado lo pasamos por la funcion tildes() para convertir las tildes
$respuesta = new xajaxResponse();//Creamos un nuevo objeto xajax
$respuesta->addAssign("barrio","innerHTML",$resultado);//Función importante que se le pasan tres parametros 1.- donde pintar, 2.- Como: "innerHTML" por defecto y 3.- Que: $resultado.
return $respuesta->getXML();
}
function limpiar(){//Funcion que se emplea apara que explorer no haga cosas raras
$respuesta = new xajaxResponse();
$respuesta->addAssign("barrio","innerHTML","");
return $respuesta->getXML();
}
function tildes($string){
$array = array("á" => "a", "é" => "e", "í" => "i", "ó" => "o", "ú" => "u");
foreach ( $array as $aguja_vieja => $aguja_nueva){
$string = str_replace ( $aguja_vieja, $aguja_nueva, $string );
}
return $string;
}
//FUNCION MENU_MUNI_COND
function menu_muni_cond( $prov, $estilo ) {
$cons = "SELECT * FROM municipio ORDER BY Valor";
$resultado = mysql_query( $cons ) or die (mysql_error());
echo "<select id=\"muni\" name=\"VALORES[Municipio]\" class=\"$estilo\" onchange=\"menu_barrio('muni')\"><option selected=\"true\"> Municipios </option><option>".$arr_asoc['Valor'].")</option></select>";
}
$xajax = new xajax("server1server.php","xajax_",false);
$xajax->registerFunction("actualizar");//Declaramos las funciones de PHP o javascript que no harán falta para que xajax sepa que existen
$xajax->registerFunction("limpiar");
$xajax->registerFunction("menu_barrio");
$xajax->processRequests();//Lo pones y ya esta
?>