Ver Mensaje Individual
  #6 (permalink)  
Antiguo 30/03/2009, 19:06
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Busqueda en 3 tablas no relacionadas

Cita:
<?php
//Comprobar datos en la BD:
$consulta1 = mysql_query("select * from jugadores where Email='$user_mail' and Pass='$user_pass'");
$filas1 = mysql_num_rows($consulta1)
if ( $filas1 == 0 ) //No es un jugador.
{
$consulta2 = mysql_query("select * from arbitros where Email='$user_mail' and Pass='$user_pass'");
$filas2 = mysql_num_rows($consulta2);
if ( $filas2 == 0 ) //No es un arbitro
{
$consulta3 = mysql_query("select * from directivos where Email='$user_mail' and Pass='$user_pass'");
$filas3 = mysql_num_rows($consulta3);
if ( $filas3 != 0 ) // ES un directivo
{
$t_usuario = "DIRECTIVO";
}
else //No ha encontrado resultados coincidentes en la BD.
{
$errores_identificacion[] = "Tu email o contraseña son incorrectos.";
}
}
else {$t_usuario = "ARBITRO";}
}
else {$t_usuario = "JUGADOR";}
?>
Por lo que veo solo necesitas comparar el numero de registros para categorizar una persona, si es jugador, arbitro o directivo.

Creo que asi, puedes obtener la salida que obtienes al final de tu codigo (jugador, arbitro o directivo.)

Código mysql:
Ver original
  1. select if((select count(*) from jugadores where Email='$user_mail' and Pass='$user_pass')=0,if((select count(*) from arbitros where Email='$user_mail' and Pass='$user_pass')=0,if
  2. ((select count(*) from directivos where Email='$user_mail' and Pass='$user_pass')<>0,'directivo','Email o contraseña incorrectos'),'arbitro'),'jugador') as persona;

Un saludo, espero te sirva.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Última edición por huesos52; 30/03/2009 a las 20:17