elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Random que no repita resultados
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Random que no repita resultados  (Leído 4,474 veces)
carlosuc99

Desconectado Desconectado

Mensajes: 42


Ver Perfil
Random que no repita resultados
« en: 19 Octubre 2012, 19:37 pm »

Buenas,

Cómo puedo hacer un random en php que coja 3 resultados aleatorios de una base de datos y que no se repitan entre si¿? La consulta quiero que sea SQL en PHP.


En línea

WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Random que no repita resultados
« Respuesta #1 en: 19 Octubre 2012, 20:26 pm »

Lo puedes hacer directamente desde el SQL:

Código:
SELECT DISTINCT id FROM table ORDER BY RAND() LIMIT 3

Saludos!


En línea

carlosuc99

Desconectado Desconectado

Mensajes: 42


Ver Perfil
Re: Random que no repita resultados
« Respuesta #2 en: 19 Octubre 2012, 20:31 pm »

Lo puedes hacer directamente desde el SQL:

Código:
SELECT DISTINCT id FROM table ORDER BY RAND() LIMIT 3

Saludos!
Lo probaré!
En línea

carlosuc99

Desconectado Desconectado

Mensajes: 42


Ver Perfil
Re: Random que no repita resultados
« Respuesta #3 en: 19 Octubre 2012, 20:51 pm »

Lo puedes hacer directamente desde el SQL:

Código:
SELECT DISTINCT id FROM table ORDER BY RAND() LIMIT 3

Saludos!

Y para  hacerlo en tres variables que cada una muestre un resultado?
En línea

carlosuc99

Desconectado Desconectado

Mensajes: 42


Ver Perfil
Re: Random que no repita resultados
« Respuesta #4 en: 20 Octubre 2012, 13:17 pm »

Por favor, alguien sabe como poner los resultados cada uno en una variable individual?
En línea

WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Random que no repita resultados
« Respuesta #5 en: 20 Octubre 2012, 14:52 pm »

¿Cual es la base de datos que utilizas?
En línea

carlosuc99

Desconectado Desconectado

Mensajes: 42


Ver Perfil
Re: Random que no repita resultados
« Respuesta #6 en: 20 Octubre 2012, 15:59 pm »

¿Cual es la base de datos que utilizas?
MySQL
En línea

WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Random que no repita resultados
« Respuesta #7 en: 20 Octubre 2012, 17:11 pm »

Código
  1. $db = mysqli($dbHost, $dbUser, $dbPassword, $dbName);
  2.  
  3. $result = $db->query('SELECT DISTINCT id FROM tabla ORDER BY RAND() LIMIT 3');
  4.  
  5. if(is_object($result)) {
  6.    $var = $result->fetch_all(MYSQLI_ASSOC);
  7.    $result->free();
  8. }
  9.  
  10. echo 'Variable 1: ' . $var[0]['id'] . '<br/>'
  11.   . 'Variable 2: ' . $var[1]['id'] . '<br/>'
  12.   . 'Variable 3: ' . $var[2]['id'] . '<br/>';
  13.  

Si las quieres imprimir a la vez, es mejor que utilices un while.

P.D:Muevo el hilo a el foro: PHP.
« Última modificación: 20 Octubre 2012, 17:15 pm por WarGhost » En línea

carlosuc99

Desconectado Desconectado

Mensajes: 42


Ver Perfil
Re: Random que no repita resultados
« Respuesta #8 en: 20 Octubre 2012, 17:31 pm »

Código
  1. $db = mysqli($dbHost, $dbUser, $dbPassword, $dbName);
  2.  
  3. $result = $db->query('SELECT DISTINCT id FROM tabla ORDER BY RAND() LIMIT 3');
  4.  
  5. if(is_object($result)) {
  6.    $var = $result->fetch_all(MYSQLI_ASSOC);
  7.    $result->free();
  8. }
  9.  
  10. echo 'Variable 1: ' . $var[0]['id'] . '<br/>'
  11.   . 'Variable 2: ' . $var[1]['id'] . '<br/>'
  12.   . 'Variable 3: ' . $var[2]['id'] . '<br/>';
  13.  

Si las quieres imprimir a la vez, es mejor que utilices un while.

P.D:Muevo el hilo a el foro: PHP.

y puedo poner?

Código:
variable1 = $var[0]['id']; 
En línea

WarGhost
I love basket


Desconectado Desconectado

Mensajes: 1.070



Ver Perfil WWW
Re: Random que no repita resultados
« Respuesta #9 en: 20 Octubre 2012, 17:42 pm »

Si, pero es hacer dos variables con el mismo contenido.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines