Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/03/2008, 09:45
BeRMaNyA
 
Fecha de Ingreso: febrero-2008
Mensajes: 33
Antigüedad: 16 años, 9 meses
Puntos: 1
Problemas con Xajax

Código:
<?
require ('xajax/xajax.inc.php');

function pais($region) {
	if ($region==1) {
		$pais = Array("Albania","Alemania","Andorra","Austria","Belarús","Bosnia y Herzegovina","Bulgaria","Croacia","Dinamarca","Eslovaquia","Eslovenia","España","Estonia","Finlandia","Francia","Finlandia","Francia","Grecia","Holanda","Hungria","Islandia","Italia","Letonia","Liechtenstein","Lituania","Luxemburgo","Macedonia","Malta","Moldova","Mónaco","Noruega","Polonia","Portugal","Reino Unico","República Checa","Rumania","San Marino","Suecia","Suiza","Turquia");
	} else if ($region==2) {
		$pais = Array("Argentina","Bolivia","Brasil","Chile","Colombia","Ecuador","Guayana Francesa","Guyana","Paraguay","Peru","Surinam","Uruguay","Venezuela");
	} else if ($region==3) {
		$pais = Array("Angola","Argelia","Benin","Botswana","Burkina Faso","Burundi","Cabo Verde","Camerun","Chad","Comores","Congo","Corte dIvoire","Djibouti","Egipto","Eritrea","Etiopía","Gabón","Gambia","Ghana","Guinea","Guinea Ecuatrorial","Kenya","Lesotho","Liberia","Libia","Madagascar","Malawi","Malí","Marruecos","Mauricio","Mauritania","Mozambique","Nambia","Níger","Nigeria","República Centroafricana","Reunión","Ruanda","Santa Helena","Santo Tomé v Príncipe","Senegal","Seychelles","Sierra Leona","Somalia","Sudáfrica","Sudán","Swazilandia","Tanzania","Togo","Túnez","Uganda","Zambia","Zimbabwe");
	} else if ($region==4) {
		$pais = Array("Australia","Guam","Islas Marshall","Kanaky","Marianas del Norte","Marshall","Micronesia","Naurú","Nueva Zelandia","Palau","Papua Nueva Guinea","Pitcairn","Polinesia Francesa","Samoa","Tokelau","Tonga","Tuvalu","Vanuatu");
	} else if ($region==5) {
		$pais = Array("Afganistán","Arabia Saudita","Armenia","Azervaiyán","Bahrein","Bangladesh","Bhutan","Brunei","Camboya","China","Chipre","Corea del Norte","Corea del Sur","Emiratos Arabes Unidos","Filipinas","Georgia","India","Indonesa","Irán","Iraq","Japón","Jordania","Kazajstán","Kirguistán","Kuwait","Laos","Líbano","Macao","Malasia","Maldivas","Mongolia","Myanmar","Nepal","Omán","Pakistán","Qatar","Singapur","Siria","Sri Lanka","Tailandia","Taiwan","Tayikistán","Timor Oriente","Turkmenistán","Uzbekistán","Vietnam","Yemen");
	} else if ($region==6) {
		$pais = Array("Canadá","Estados Unidos de América");
	} else {
		$pais = Array("Anguila","Antigua y Barbuda","Antillas Holandesas","Aruba","Bahamas","Barbados","Belice","Bermudas","Caimán","Costa Ricá","Cuba","Dominicana","El Salvador","Granada","Guatemala","Haití","Honduras","Islas Vírgenes","Jamaica","Martinica","Mexico","Montserrat","Nicaragua","Panamá","Puerto Rico","República Dominicana","San Cristobal Nevis","San Vicente y las Granadinas","Santa Lucia","Trinidad y Tobago","Turcas y Caicos");
	}

	$text = "Pais: <select name='pais'>";
	foreach ($pais as $value) {
		$text .= "<option value='$value'> $value </option>";
	}
	$text .= "</select>";

	$objResponse = new xajaxResponse();
	$objResponse->addAssign("div1","innerHTML", $text);

	return $objResponse;
}

function noticias() {
	session_start();
	$connect = mysql_connect("localhost","root","123456a");
	mysql_select_db("deconsultas",$connect);

	$i = 0;
	while ($i<=1000) {
		$i++;

		$hoy = date("d/m/Y");
		$suma = str_replace("-","", fecha_mysql(sumaf($hoy, -2)));

		$query = mysql_query("select * from noticias WHERE id='$_SESSION[cont]' AND ingresado >= $suma");
		if (mysql_num_rows($query)>0) {
			$_SESSION[cont] = $_SESSION[cont] + 1;
			$row = mysql_fetch_array($query);
	
			$text = "<a href='noticias.php?id=$row[id]'> $row[titulo] </a>";

			$objResponse = new xajaxResponse();
			$objResponse->addAssign("noticias","innerHTML", $text);

			return $objResponse;
			die();
		} else {
			$_SESSION[cont] = 1;
			$query = mysql_query("select * from noticias WHERE ingresado >= $suma Order by Rand()");
			if (mysql_num_rows($query)>0) {
				$row = mysql_fetch_array($query);
	
				$text = "<a href='noticias.php?id=$row[id]'> $row[titulo] </a>";
			} else {
				$text = "No hay noticias";
			}

			$objResponse = new xajaxResponse();
			$objResponse->addAssign("noticias","innerHTML", $text);
			return $objResponse;
			die();
		}
	}
}

$xajax = new xajax(); 
$xajax->setCharEncoding('ISO-8859-1');
$xajax->registerFunction("pais");
$xajax->registerFunction("noticias");
$xajax->processRequests();
?>
En Firefox funciona un lujo, en IE me da mil errores.. :S

El caso de la funcion de regiones, es q al señalar un combo la region, en otro me liste los paises, por ejemplo se señala europa y muestra todos los paises,

y la funcion de noticias, muestra cada X segundos una nueva noticia, automaticamente, pero lo raro q me da error en IE y en firefox funciona todo..

Si alguien me ayudaria a hacerlo solo con ajax sin usar ningun framework se lo re agradeceria..