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());
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
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'"
Cita de: RedZer en 7 Octubre 2011, 17:20 PM
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'");
}
...
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%'");
Cita de: Shell Root en 9 Octubre 2011, 10:44 AM
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.
Si si si si si, obviamente eso lo sé, sólo di un ejemplo.
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
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.