Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/02/2013, 05:59
Avatar de Nemutagk
Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Mensajes aleatorios que no se repitan sacados de una base de datos

Guarda todas las ID en un array, después generas un nuevo ID con el rango de items dentro del array, cuando salga el nuevo ID tomas el valor del indice indicado, luego borras el indice y vuelves a acomodar los items en el array, así cada vez generas un ID con el numero exacto de items dentro del array y así te aseguras que no se repita y que el ID generado salga rapidamente, para que se entienda mejor...

Código PHP:
Ver original
  1. <?php
  2.  
  3. //obtienes TODOS los registros de tu base de datos la 1ra vez y los guardas en un array, este después
  4. //lo puedes guardar en una sesión o en un archivo, yo que se...
  5. $array = array(1,2,3,4,5,6,7,8,9,0);
  6.  
  7. $indice = rand(0,count($array));
  8. $valor = $array[$indice];
  9. unset($array[$indice]);
  10. sort($array);
  11.  
  12. //guardas el array con el item borrado...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)