Tema destacado: Nueva página de elhacker.net en Google+ 
Autor
|
Tema: Duda sobre conectar dos tablas en MySQL (Leído 1,142 veces)
|
xpartano.x
Desconectado
Mensajes: 14
|
Hola a todos! tengo una pequeña duda a ver si me la podeis resolver. Quiero que en la secuencia MySQL: Seleccionar usuario y contraseña de (hasta aqui vamos bien) usuarios Ó(quiero que si no existe el usuario en la tabla usuarios, examine en administradores) administradores WHERE .... Este es mi codigo: $query = mysql_query("SELECT username,password FROM usuarios, administradores WHERE username = '$username'") or die(mysql_error());
|
|
|
|
|
En línea
|
|
|
|
RedZer
Desconectado
Mensajes: 654
|
eso yo lo ago con una condicion if , es decir primero buscas en la tabla usuarios , si la consulta devuelve basia entonces condicionas para que busque en la otra tabla
|
|
|
|
|
En línea
|
Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
|
|
|
fran800m
Desconectado
Mensajes: 140
|
lo suyo es que usuarios tuviera un campo que identificara si es usu o adm, luego en php miras que tipo de usuario es y se te quedaba en :
SELECT username,password, tipoUser FROM usuarios, administradores WHERE username = '$username'"
|
|
|
|
|
En línea
|
|
|
|
dark_sargon
Desconectado
Mensajes: 532
CJ
|
eso yo lo ago con una condicion if , es decir primero buscas en la tabla usuarios , si la consulta devuelve basia entonces condicionas para que busque en la otra tabla
Yo pienso igual que RedZer, lo haría algo así: ... $query = mysql_query("SELECT username,password FROM usuarios WHERE username = '$username'"); if(mysql_num_rows($query) < 1){ echo "No se encuentra en la tabla de usuarios."; $query = mysql_query("SELECT username,password FROM administradores WHERE username = '$username'"); } ...
|
|
|
|
|
En línea
|
|
|
|
Shell Root
Desconectado
Mensajes: 2.456
Alex Jurado
|
No se mucho de MySQL, pero desde que se pueda hacer en una sola query sería mucho más rápido. Por ejemplo: (SELECT * FROM table1 WHERE nombre LIKE "'%$busqueda%'") UNION (SELECT * FROM table2 WHERE nombre LIKE "'%$busqueda%'");
|
|
|
|
|
En línea
|
 ---
|
|
|
dark_sargon
Desconectado
Mensajes: 532
CJ
|
No se mucho de MySQL, pero desde que se pueda hacer en una sola query sería mucho más rápido. Por ejemplo: (SELECT * FROM table1 WHERE nombre LIKE "'%$busqueda%'") UNION (SELECT * FROM table2 WHERE nombre LIKE "'%$busqueda%'"); Es verdad, sería mejor pero según le entendí al compañero xpartano.x, él necesitaba saber si no se encontraba en la tabla de usuarios. Yo le recomendaría hacer una sola tabla con usuarios y administradores y a cambio de las dos tablas agregar un campo que describa si es usuario o administrador.
|
|
|
|
|
En línea
|
|
|
|
Shell Root
Desconectado
Mensajes: 2.456
Alex Jurado
|
Si si si si si, obviamente eso lo sé, sólo di un ejemplo.
|
|
|
|
|
En línea
|
 ---
|
|
|
xpartano.x
Desconectado
Mensajes: 14
|
esq tengo un panel de administracion qiero q a los usuarios normales les salga unos links y a los admin pues otros link.
lo que yo queria hacer es, q por ejemplo se loguea admin y q mire primero si esta en la tabla usuarios y si no esta q mire en la tabla administradores. se q sera con un if, pero no se como emplearlo :S
|
|
|
|
|
En línea
|
|
|
|
fran800m
Desconectado
Mensajes: 140
|
Chico te hemos contestado con la solución unas cuantas personas, yo creo que no sabes bastante ni de SQL ni de PHP. Pon algo de tu parte caramba.
|
|
|
|
|
En línea
|
|
|
|
|
|