Foros del Web » Programando para Internet » PHP »

Valor aleatorio que no se repita

Estas en el tema de Valor aleatorio que no se repita en el foro de PHP en Foros del Web. Saludos amigos, Tengo esta situacion necesito generar 25 valores aleatorios enre 1 y 100, estos no pueden ser iguales entre si. es decir que no ...
  #1 (permalink)  
Antiguo 20/03/2008, 13:22
 
Fecha de Ingreso: marzo-2006
Mensajes: 32
Antigüedad: 18 años, 1 mes
Puntos: 1
Valor aleatorio que no se repita

Saludos amigos,

Tengo esta situacion necesito generar 25 valores aleatorios enre 1 y 100, estos no pueden ser iguales entre si. es decir que no se repita un mismo valos enre los 25

Use en principio la opcion rand que me genera un aleatorio, pero como hago para generar el resto y que los valores no se repitan?

Ayuda!!!!!!! por favor
  #2 (permalink)  
Antiguo 20/03/2008, 13:58
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
Re: Valor aleatorio que no se repita

trata de inventarte algo con str_repeat.

saludos y suerte
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #3 (permalink)  
Antiguo 20/03/2008, 14:00
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 9 meses
Puntos: 19
De acuerdo Re: Valor aleatorio que no se repita

Código PHP:
<?
$cantidad 
25//esta es la cantidad de numeros aleatorios que necesitas
$contador 0;
$numeros = array();

while(
$contador $cantidad)
{
    
$aleatorio rand(1100);
    
    if(!
in_array($aleatorio$numeros))
    {
        
$numeros[$contador] = $aleatorio;
        
$contador++;
    }
}
// hasta aca es lo que necesitas, luego de que el bucle termine tendras un array con todos los numeros adentro y bueno depsues lo manejas como quieras vos

// si queres mostrar los valores, una forma es usando foreach
foreach($numeros as $valores)
{
echo 
$valores."<br />";
}
?>
Suerte! y unos puntitos para el karma no vienen mal jajaj!
  #4 (permalink)  
Antiguo 20/03/2008, 16:51
 
Fecha de Ingreso: marzo-2006
Mensajes: 32
Antigüedad: 18 años, 1 mes
Puntos: 1
Re: Valor aleatorio que no se repita

Cita:
Iniciado por korg1988 Ver Mensaje
Código PHP:
<?
$cantidad 
25//esta es la cantidad de numeros aleatorios que necesitas
$contador 0;
$numeros = array();

while(
$contador $cantidad)
{
    
$aleatorio rand(1100);
    
    if(!
in_array($aleatorio$numeros))
    {
        
$numeros[$contador] = $aleatorio;
        
$contador++;
    }
}
// hasta aca es lo que necesitas, luego de que el bucle termine tendras un array con todos los numeros adentro y bueno depsues lo manejas como quieras vos

// si queres mostrar los valores, una forma es usando foreach
foreach($numeros as $valores)
{
echo 
$valores."<br />";
}
?>
Suerte! y unos puntitos para el karma no vienen mal jajaj!
Muchisimas gracias...
  #5 (permalink)  
Antiguo 20/03/2008, 16:59
 
Fecha de Ingreso: marzo-2006
Mensajes: 32
Antigüedad: 18 años, 1 mes
Puntos: 1
Re: Valor aleatorio que no se repita

Cita:
Iniciado por korg1988 Ver Mensaje
Código PHP:
<?
$cantidad 
25//esta es la cantidad de numeros aleatorios que necesitas
$contador 0;
$numeros = array();

while(
$contador $cantidad)
{
    
$aleatorio rand(1100);
    
    if(!
in_array($aleatorio$numeros))
    {
        
$numeros[$contador] = $aleatorio;
        
$contador++;
    }
}
// hasta aca es lo que necesitas, luego de que el bucle termine tendras un array con todos los numeros adentro y bueno depsues lo manejas como quieras vos

// si queres mostrar los valores, una forma es usando foreach
foreach($numeros as $valores)
{
echo 
$valores."<br />";
}
?>
Suerte! y unos puntitos para el karma no vienen mal jajaj!
Disculpa mi ignorancia, soy nuevo en este tema... la idea de los valores aleatorias es la de relacionar cada valor con el identificador de una campo en una tabla para utilizar estos campos campos, tal vez haya una forma directa de ir aleatoriamente a estos capos..??
  #6 (permalink)  
Antiguo 20/03/2008, 19:48
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Re: Valor aleatorio que no se repita

Hola:

¿A qué te refieres con "tabla"?¿A una tabla de una BD?
Si es así, puedes hacer una consulta ordenando los resultados aleatoriamente y tomando solamente los primeros 25 registros.

Si fuera MySQL:
Código PHP:
$sql "SELECT * FROM miTabla ORDER BY rand LIMIT(0, 25)"
Eso te devolvera 25 registros aleatorios directamente de la BD.

Saludos,
  #7 (permalink)  
Antiguo 26/03/2008, 19:14
Avatar de cplus  
Fecha de Ingreso: abril-2007
Mensajes: 164
Antigüedad: 17 años
Puntos: 1
De acuerdo Re: Valor aleatorio que no se repita

Cita:
Iniciado por jpinedo Ver Mensaje
Hola:

¿A qué te refieres con "tabla"?¿A una tabla de una BD?
Si es así, puedes hacer una consulta ordenando los resultados aleatoriamente y tomando solamente los primeros 25 registros.

Si fuera MySQL:
Código PHP:
$sql "SELECT * FROM miTabla ORDER BY rand LIMIT(0, 25)"
Eso te devolvera 25 registros aleatorios directamente de la BD.

Saludos,
jejeje
  #8 (permalink)  
Antiguo 26/03/2008, 19:47
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: Valor aleatorio que no se repita

Creo que es ORDER BY rand() .... o sea... con los parentesis porque es una funcion
__________________
Salu2!
  #9 (permalink)  
Antiguo 26/03/2008, 19:53
Avatar de cplus  
Fecha de Ingreso: abril-2007
Mensajes: 164
Antigüedad: 17 años
Puntos: 1
De acuerdo Re: Valor aleatorio que no se repita

Cita:
Iniciado por Italico76 Ver Mensaje
Creo que es ORDER BY rand() .... o sea... con los parentesis porque es una funcion

asi es

Código PHP:
mysqlSELECT FROM tbl_name ORDER BY RAND(); 
http://dev.mysql.com/doc/refman/5.0/...functions.html
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 12:47.