Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/03/2007, 15:47
Avatar de Manoloweb
Manoloweb
 
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 23 años
Puntos: 5
Re: generar un numero unico

Una pregunta...

Por que no lo haces simplemente autonumérico y dejas que MySQL se encargue de asignarle el siguiente consecutivo?

Hay varias formas de hacer lo que tu necesitas, pero no visualizo ninguna de ellas que a la vuelta de algún tiempo no termine siendo demasiado demandante de recursos, ya sea de la BD ó de PHP ( o peor, de ambos)...

Ejemplo...

Código PHP:
function nuevorand($lista) {
     
srand ((double) microtime( )*1000000);
     do {
        
$random_number rand(0,1000);
    } while (
in_array($random_number,$lista));
    return 
$random_number;
}

$usados = array();
$busquedamysql_query("SELECT numsocio FROM usuarios");
while(
$fila mysql_fetch_assoc($busqueda)) {
    
$usados[] = $fila["numsocio"];
}
$numsocio nuevorand($usados); 

Repito, debe haber 100 formas de conseguir lo mismo, pero siempre será mejor lo más simple y a prueba de fallos, usa un campo auto:increment en tu tabla, y listo
__________________
Manoloweb