| |||
nuemero aleatorio que no se repita saludos estoy intentando generar un numero aleatorio que no se repita por ejemplo genero un numero mt_rand(1,5000); y lo guardo en una variable que a su ves la guardo en una base de datos luego genero una consulta para cargar los números guardados en la base pero con que función puedo comparar esos numero que están guardados para que si hay un numero repetido me genere otro distinto hay alguna función que pueda hacer eso he intentado con while() y foreach pero no me da resultado les agradecería mucho la ayuda. |
| ||||
Re: nuemero aleatorio que no se repita Hola Para generar un numero unico y no hace falta que sea aleatorio $mi_numero = time(); este numero seguro que no se repite ya que coge la hora del servidor. para reliarlo mas usa $mi_numero = md5(time()); hay mil formas saludos
__________________ Un Saludo www.tutores.org Asp | Php | Javascript | Perl | Coldfusion | Flash | +- 2000 codigos |
| ||||
Re: nuemero aleatorio que no se repita Holas que tal macwarez, estube pensando en tu problema, y he llegado a una solucion, talvez no es la mejor, pero si soluciona el problema. ( al paracer el algoritmo es exponencial xD , pero se demoro como 7 segundos al eleigir entre 0 y 10000, 5000 numeros al azar que no se repitan :P ). Te explico un poco el script para q lo entiendas. funcion insertar_bd, esta funcion la debes completar, debes poner todos los parametros necesarios y el algoritmo para realizar el insercion del numero en la base de datos, esta funcion siempre va a recibir un numero que ya no se encuentre en la bd, por lo menos en la primera ejecucion pos, se entiende. function registro , esta funcion es recursiva (se llama a si misma), tiene como parametros un array pasado por referencia ( es decir, todas las llamadas al a funcion trabajan en el mismo array ) y un numero, la logica de la funcion es, si el numero ya existe en la matriz, genera otro y vuelve a llamar a la funcion, hasta que encuentre un numero que no existe en el registro, este numero lo guarda en el registro y lo manda a la funcion insertar_bd Luego simplemente viene $max (el maximal del rango de numero) $min (el minimo del rango de numeros) y $n la cantidad de numeros a selecionar. Luego viene un for que se repite $n veces y llama a la funcion registro. Código PHP: - Lo encontre medianamente util, ya que genero 5000 numeros al azar entre 0 y 10000, en como 7 segundos Hay tu ves que puedes adaptar del Script para tus necesidades, saludos :P
__________________ Blog sobre Programación Una mirada conciente para identificar una solución sencilla. Ingeniería de Software. appvision.cl |