Hola a todos! Estoy realizando una pequeña aplicación web y necesito comprobar si existe el registro en la base de datos. Encontré un ejemplo con xajax el ejemplo me funciono perfectamente realizando una consulta para una única tabla; el problema fue cuando cambie la consulta para traer datos de dos tablas a continuación el código:
<?
//incluímos la clase ajax
require ('xajax/xajax.inc.php');
//instanciamos el objeto de la clase xajax
$xajax = new xajax();
$xajax->setCharEncoding('ISO-8859-1');
$xajax->decodeUTF8InputOn();
//conecto con la base de datos
$connectid = mysql_connect("localhost", "root", "");
mysql_select_db("prueba",$connectid);
function validar_pais($nombre_pais, $nombre_pais1){
$ssql = "select p.nick from usuarios as u, pais as p
where u.nick=p.nick
and p.nombre_pais='$nombre_pais'
and p.apellido_pais='$nombre_pais1'";
$rs = mysql_query($ssql);
if (mysql_num_rows($rs)==0){
$campo_validacion = "No he encontrado países con ese nombre";
}else{
$campo_validacion = "<i>Se encontraron " . mysql_num_rows($rs) . " posibles países.</i>";
$campo_validacion .= '<div style="margin:3px;">';
while ($fila = mysql_fetch_object($rs)){
$campo_validacion .= "<a style='cursor:pointer;text-decoration:underline; color:#0000ff;' onclick='selecciona_pais(\"" . $fila->nombre_pais . "\");'>";
$campo_validacion .= $fila->nombre_pais . '</a><br>';
}
$campo_validacion .= '</div>';
}
$campo_validacion = '<div style="border: 2px solid #0000cc; font-size: 8pt; padding:5px; margin-top:10px; width: 300px;">' . $campo_validacion . '</div>';
$respuesta = new xajaxResponse('ISO-8859-1');
$respuesta->addAssign("validador_pais","innerHTML",$campo_val idacion);
return $respuesta;
}
function procesar_formulario($formulario){
$respuesta = new xajaxResponse('ISO-8859-1');
if (!isset($formulario["nombre_validado"])){
$respuesta->addAssign("validador_pais","innerHTML",'<div style="border: 2px solid #cc0000; font-size: 8pt; padding:5px; margin-top:10px; width: 300px;">Tienes que validar el país.</div>');
}
return $respuesta;
}
//registramos funciones
$xajax->registerFunction("validar_pais");
$xajax->registerFunction("procesar_formulario");
//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequests();
?>
<html>
<head>
<title>Validador campo formulario online</title>
<?
//En el <head> indicamos al objeto xajax se encargue de generar el javascript necesario
$xajax->printJavascript("xajax/");
?>
<script>
function selecciona_pais(nombre){
document.f1.nombre_pais.value=nombre
document.getElementById("validador_pais").innerHTM L='<div style="border: 2px solid #00cc00; font-size: 8pt; padding:5px; margin-top:10px; width: 300px;">Validado correctamente</div>';
document.getElementById("input_pais").innerHTML='< input type="hidden" name="nombre_validado" value="' + nombre + '">' + nombre
}
</script>
</head>
<body style="font-family: arial, verdana;">
<div id="todo_formulario">
<form action="#" method="post" name="f1" id="f1">
<div id="input_pais">
apellido país: <input type="text" name="nombre_pais1">
Nombre país: <select name="nombre_pais">
<option value="1">1</option>
</select><a style='cursor:pointer;text-decoration:underline; color:#0000ff;' onClick="xajax_validar_pais(document.f1.nombre_pai s.value, document.f1.nombre_pais1.value);">Validar pais</a>
</div>
<div id="validador_pais"></div>
<input type="button" onClick="xajax_procesar_formulario(xajax.getFormVa lues('f1'))" value="Enviar">
</form>
</div>
</body>
</html>
Agradezco de antemano su valiosa ayuda