Foros del Web » Programando para Internet » PHP »

Asignar un númro aleatorio en Mysql desde PHP

Estas en el tema de Asignar un númro aleatorio en Mysql desde PHP en el foro de PHP en Foros del Web. Buen dia, mi consulta es la siguiente: he creado un campo en una tabla tipo numérico , pero necesito generar un npumero aleatorio en este ...
  #1 (permalink)  
Antiguo 31/03/2009, 08:07
Avatar de agutierrezd  
Fecha de Ingreso: marzo-2004
Mensajes: 45
Antigüedad: 20 años, 1 mes
Puntos: 0
De acuerdo Asignar un númro aleatorio en Mysql desde PHP

Buen dia, mi consulta es la siguiente: he creado un campo en una tabla tipo numérico , pero necesito generar un npumero aleatorio en este campo.
alguien me puede dar luces en esto...soy novato y no tengo muycha idea de como o por donde inciar..

muchas gracias
__________________
DITO
Bogota - Colombia
  #2 (permalink)  
Antiguo 31/03/2009, 08:52
 
Fecha de Ingreso: febrero-2009
Ubicación: cancun!
Mensajes: 898
Antigüedad: 15 años, 2 meses
Puntos: 15
Respuesta: Asignar un númro aleatorio en Mysql desde PHP

$numero_aleatorio = rand(1,100);

y guardas la variable en tu bd saludines!!
  #3 (permalink)  
Antiguo 31/03/2009, 08:54
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Asignar un númro aleatorio en Mysql desde PHP

Puedes usar rand():
http://www.php.net/rand

P.S.: O directamente, en la consulta MySQL, usar RAND()
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 31/03/2009, 09:09
 
Fecha de Ingreso: abril-2008
Mensajes: 88
Antigüedad: 16 años
Puntos: 5
Pregunta Respuesta: Asignar un númro aleatorio en Mysql desde PHP

Cita:
Iniciado por agutierrezd Ver Mensaje
Buen dia, mi consulta es la siguiente: he creado un campo en una tabla tipo numérico , pero necesito generar un npumero aleatorio en este campo.
alguien me puede dar luces en esto...soy novato y no tengo muycha idea de como o por donde inciar..

muchas gracias
para que necesitas un numero aleatorio???? bueno si es para identificacion de alguien seria bueno la HORA o bien como te comentaron ya la funcion rand(x,y) con X como el numero inicial y Y el numero final, si deseas ingresar letras, puede ser rand(a,z) para letras de la "a" a la "z" o bien si quieres avarcar todos los caracteres rand (a,Z), ejjejejejejeje, una consulta mas........ el numero se puede repetir?????????? si no es asi tendrias que hacer una consulta primero antes de guardarla en la BD, sobre este campo para buscar que no exista.
  #5 (permalink)  
Antiguo 31/03/2009, 09:14
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
Respuesta: Asignar un númro aleatorio en Mysql desde PHP

es cierto lo que dice juanjoseab...

con la funcion:
rand()

pueden repertirse los mismos numeros, pero si no te importa que se repitan pues ya esta...
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #6 (permalink)  
Antiguo 31/03/2009, 10:53
Avatar de agutierrezd  
Fecha de Ingreso: marzo-2004
Mensajes: 45
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Asignar un númro aleatorio en Mysql desde PHP

Cita:
Iniciado por juanjoseab Ver Mensaje
para que necesitas un numero aleatorio???? bueno si es para identificacion de alguien seria bueno la HORA o bien como te comentaron ya la funcion rand(x,y) con X como el numero inicial y Y el numero final, si deseas ingresar letras, puede ser rand(a,z) para letras de la "a" a la "z" o bien si quieres avarcar todos los caracteres rand (a,Z), ejjejejejejeje, una consulta mas........ el numero se puede repetir?????????? si no es asi tendrias que hacer una consulta primero antes de guardarla en la BD, sobre este campo para buscar que no exista.

Una pregunta , efectivamente me repite el mismo numero en cada registro, como hago para que me asigne unnumero diferente en cada campo?? muchas gracias
__________________
DITO
Bogota - Colombia
  #7 (permalink)  
Antiguo 31/03/2009, 11:07
datagrama
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Asignar un númro aleatorio en Mysql desde PHP

Hola,

Yo usaría mejor mt_rand().

Si quieres que la información que genere sea más difícil de coincidir, usaría dos o tres veces la instrucción.

Es decir, ejecutas 3 veces mt_rand(), y sumas los resultados, y será el número que buscas.

De esta forma se complica mucho que coincida. Aunque si tienes mucho tráfico hay que optar por otras soluciones.

Saludos.
  #8 (permalink)  
Antiguo 31/03/2009, 11:10
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Asignar un númro aleatorio en Mysql desde PHP

Como ya te comentó juanjoseab.

Debes hacer una consulta previa a la base de datos (SELECT) para saber si ese número ya existe, y si es el caso generar otro número.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 31/03/2009, 11:15
Avatar de agutierrezd  
Fecha de Ingreso: marzo-2004
Mensajes: 45
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Asignar un númro aleatorio en Mysql desde PHP

Cita:
Iniciado por datagrama Ver Mensaje
Hola,

Yo usaría mejor mt_rand().

Si quieres que la información que genere sea más difícil de coincidir, usaría dos o tres veces la instrucción.

Es decir, ejecutas 3 veces mt_rand(), y sumas los resultados, y será el número que buscas.

De esta forma se complica mucho que coincida. Aunque si tienes mucho tráfico hay que optar por otras soluciones.

Saludos.
Hola disculpa tanta preguntadera pero necesito que a acada registro le asigne un numero aleatorio diferente .

El código es el sigueinte , si está todo mal por favor le agradezco me corrija gracias nuevamente

$numerorand = mt_rand();
mysql_select_db($database_oConnGS, $oConnGS);
$query_Recordset1 = "UPDATE users_pauta SET pauta_rdnkey =".$numerorand;
$Recordset1 = mysql_query($query_Recordset1, $oConnGS) or die(mysql_error());
__________________
DITO
Bogota - Colombia
  #10 (permalink)  
Antiguo 31/03/2009, 12:07
Avatar de dannce4life  
Fecha de Ingreso: junio-2008
Ubicación: localhost
Mensajes: 137
Antigüedad: 15 años, 10 meses
Puntos: 6
Respuesta: Asignar un númro aleatorio en Mysql desde PHP

agutierrezd, en tu lugar escribiría esto:

Código PHP:
<?php  
// Para conectar a la base.
function Conectar()
{    
    if(!(
$link mysql_connect($host$usuario$clave))){
        print 
"Error conectando a la base de datos.<br />"
        print 
mysql_error()."<br />";
        print 
mysql_errno()."<br />";
        exit(); 
    } 
    if (!
mysql_select_db($nombreBase,$link)){ 
        print 
"Error seleccionando la base de datos."
        exit(); 
    } 
    return 
$link
}

// Numero aleatorio de 32 digitos
function rNumero($l 32){
    
$c "0123456789";
    for(;
$l 0;$l--) $s .= $c{rand(0,strlen($c))};
    return 
str_shuffle($s);
}

Conectar();

$Recordset1 mysql_query('update user_pauta set pauta_rdnkey = \''rNumero() .'\'') or die(mysql_error());
?>
como verás el codigo está mas limpio y organizado y los valores aleatorios son mucho mas poderosos.

Espero te sirva. un saludo
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 02:53.