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

Seleccionar un fila al azar y que no sea de un usuario específico.

Estas en el tema de Seleccionar un fila al azar y que no sea de un usuario específico. en el foro de Mysql en Foros del Web. ¡Hola! Seré breve, lo que me pasa es que necesito seleccionar una fila con mysqli_query al azar pero que no sea del usuario que está ...
  #1 (permalink)  
Antiguo 11/02/2014, 09:31
Avatar de iEnrique  
Fecha de Ingreso: abril-2013
Ubicación: España
Mensajes: 346
Antigüedad: 11 años
Puntos: 5
Seleccionar un fila al azar y que no sea de un usuario específico.

¡Hola!

Seré breve, lo que me pasa es que necesito seleccionar una fila con mysqli_query al azar pero que no sea del usuario que está en el ordenador.

En mi tabla tengo lo siguiente:



En el elemento "user" tengo la id del usuario, que normalmente cuando el usuario está navegando por mi web la guardo en "$_SESSION['id']".

La pregunta es la siguiente, ¿cómo podría seleccionar una fila solamente al azar de esos registros de esa tabla y que no sea del usuario que está ahora mismo navegando por mi web?

Se me ocurrió algo como así pero no me sale:
Código SQL:
Ver original
  1. SELECT src, es FROM pictures WHERE USER > ".$_SESSION['id']". OR USER < ".$_SESSION['id']." LIMIT $azar, 1
  #2 (permalink)  
Antiguo 11/02/2014, 09:36
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Seleccionar un fila al azar y que no sea de un usuario específico.

Código SQL:
Ver original
  1. SELECT src, es
  2. FROM pictures
  3. WHERE `USER' <> ".$_SESSION['id']".
  4. ORDER BY RAND()
  5. LIMIT 1
Procura no usar nombres de campos o cablas en inglés, para evitar usar palabras reservadas (como por ejemplo "USER"). De ese modo evitarás errores de sintaxis indetectables.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 11/02/2014, 09:57
Avatar de iEnrique  
Fecha de Ingreso: abril-2013
Ubicación: España
Mensajes: 346
Antigüedad: 11 años
Puntos: 5
Respuesta: Seleccionar un fila al azar y que no sea de un usuario específico.

Todo funciona perfecto pero sigue sin funcionar, porque me sigue saliendo el del usuario, la tabla se llama Imagine (aunque yo arriba la tengo mal puesta) y lo tengo así:

Código SQL:
Ver original
  1. SELECT id, src, es FROM imagine WHERE 'USERING' <> ".$_SESSION['id']." ORDER BY RAND() LIMIT 1

He cambiado el nombre de "user" a "usering" para que no coincida con palabras en inglés y evitar errores de sintaxis.

¿Qué puede pasar?

Última edición por gnzsoloyo; 11/02/2014 a las 10:06
  #4 (permalink)  
Antiguo 11/02/2014, 10:09
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Seleccionar un fila al azar y que no sea de un usuario específico.

Estás confundiendo los apóstrofos (') con los acentos agudos (`).
Los primeros se usan para cadenas de texto, los segundos para objetos de base de datos.
No estás comparando el ID con el valor del campo USERING, sino con una cadena de texto que dice "USERING"...

Código MySQL:
Ver original
  1. SELECT id, src, es FROM imagine
  2. WHERE USERING <> ".$_SESSION['id']."
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: fila, registro, select, sql, tabla, usuario
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 00:04.