Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

problema con consulta mysql

Estas en el tema de problema con consulta mysql en el foro de Mysql en Foros del Web. Que tal amigos ayer estube molestando a otros compañeros del foro de php ,pero en realidad el problema creo que lo tengo en la consulta ...
  #1 (permalink)  
Antiguo 11/01/2011, 08:12
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
problema con consulta mysql

Que tal amigos ayer estube molestando a otros compañeros del foro de php ,pero en realidad el problema creo que lo tengo en la consulta , paso a explicar , estoy haciendo un registro de usuarios con niveles , pero cuando el usuario se loguea unicamente iguala nombre_usuario y clave
$consulta="select * from usuarios where nombre_usuario='".$_POST["nombre_usuario"]."' and clave='".$_POST["clave"]."'";
$result=mysql_query($consulta,Conectar::con());
pero tambien necesito que compare un campo que se llama perfil, ahi esta el numero de nivel de usuario que le pertenece al usuario que se logueo
(cuando se loguea el usuario , el formulario pide usuario y clave nada mas)
una solucion creo que seria que cuando haga login el usuario , ademas de pedirle usuario y pass tambien le pida el nivel que tiene de usuario , y despues que iguale todo ,pero seguramnete hay otras formaS de hacerlo
por eso recurro aca
Saludos y muchas gracias
  #2 (permalink)  
Antiguo 11/01/2011, 09:51
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: problema con consulta mysql

El perfil no es algo que él tenga que introducir, sino que ya lo tiene y tú necesitas conocer para darle más o menos permisos y privilegios
$consulta="select * from usuarios INNER JOIN perfiles ON usuarios.idusuario = perfiles.idusuario where nombre_usuario='".$_POST["nombre_usuario"]."' and clave='".$_POST["clave"]."'";
Si accede, tú ya tienes todos los datos del perfil. Sería mejor que no usaras * y pusieras los nombres de los campos de ambas tablas que necesitas.
  #3 (permalink)  
Antiguo 11/01/2011, 10:29
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: problema con consulta mysql

muchas gracias por la respuesta
ya casi lo tengo , el tema es que el campo perfil esta ubicado dentro de la tabla usuarios
probe asi pero me tira error
$consulta="select * from usuarios.perfil ON usuarios.usuario_id = perfil.usuario_id where nombre_usuario='".$_POST["nombre_usuario"]."' and clave='".$_POST["clave"]."'";
y para validar si el usuario y la clave existen puse asi
$result=mysql_query($consulta,Conectar::con());

if (mysql_num_rows($result)== 0)
{entra a la pagina}

else {no entra }
tengo problemas en la consulta mysql verdad?
  #4 (permalink)  
Antiguo 11/01/2011, 10:30
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: problema con consulta mysql

perdon es al reves

if (mysql_num_rows($result)== 0)
{no entra}

else {si entra }
tengo problemas en la consulta mysql verdad?
  #5 (permalink)  
Antiguo 11/01/2011, 10:49
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: problema con consulta mysql

darion,
pon los nombres de las tablas y de los campos para que podamos hacer la consulta bien.
  #6 (permalink)  
Antiguo 11/01/2011, 11:02
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: problema con consulta mysql

la tabla se llama "usuarios"
campos:

usuario_id = "1"

nombre = "dario"

apellido = " zalazar"

nombre_usuario = "darion"

clave = "123"

perfil = "4"
  #7 (permalink)  
Antiguo 11/01/2011, 11:15
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: problema con consulta mysql

He eliminado el código PHP. En este foro no debe usarse. Vuelve a ponerlo tú.
SELECT usuario_id, nombre, apellido, nombre_usuario, perfil from usuarios WHERE nombre_usuario=@nombre_usuario and clave= @clave
  #8 (permalink)  
Antiguo 11/01/2011, 11:36
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: problema con consulta mysql

buenismo gracias pero como te comentaba antes necesito que el numero que esta en el campo perfil inicie sesion junto con el nombre de usuario
yo lo hice asi pero no me funciona

public function iniciar_sesion(){

$consulta="SELECT usuario_id, nombre, apellido, nombre_usuario, perfil from usuarios WHERE nombre_usuario='".$_POST ["nombre_usuario"]."' and clave='".$_POST["clave"]."'";
// $consulta="select * from usuarios where nombre_usuario='".$_POST["nombre_usuario"]."' and clave='".$_POST["clave"]."'";
$result=mysql_query($consulta,Conectar::con());

if (mysql_num_rows($result)== 0)
{
echo "<script language='JavaScript' type='text/javascript'>
alert('El Usuario y el Password NO coinciden');
window.location.href='index.php';
</script>";
}
else
{


$_SESSION["ce"]= $_POST["nombre_usuario"] ;
$_SESSION["ca"]= $_POST["$result"] ;
echo "<script type='text/javascript'>
var ancho = ((screen.width) / 2) - 512 ;
var alto = ((screen.height) / 2) - 384;
window.open('inicio.php','','status=0,scrollbars=0 ,width=1024,height=768,top='+alto+',left='+ancho+' ,titlebar=0,menubar=0,hotkeys=0,toolbar=0,resizabl e=1,directories=0,location=0')
window.open('','_parent','');
window.close();
</script>";

}

}
en la pagina que se inicia cuando se loguea un usuario hago un echo $_SESSION["ce"] y me lo muestra en cambio hago lo mismo con perfil y no pasa nada
gracias por tu paciencia con un novato
  #9 (permalink)  
Antiguo 11/01/2011, 12:02
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: problema con consulta mysql

Pide ayuda en el foro PHP para cargar en esa variable de sesión el valor de perfil que te traes en la consulta. Será fácil, ya lo verás. Aquí no podemos escribir código PHP.
Sí voy a aconsejarte que en la consulta uses los nombres de los campos que necesites traerte y no * con el que te los traerás todos.
  #10 (permalink)  
Antiguo 11/01/2011, 12:10
 
Fecha de Ingreso: octubre-2010
Mensajes: 233
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: problema con consulta mysql

dale gracias otra vez , me voy para PHP

saludos desde Argentina

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:36.