Foros del Web » Programando para Internet » PHP »

Dato aleatorio

Estas en el tema de Dato aleatorio en el foro de PHP en Foros del Web. holas amigos .. como le hago para que un dato me cargue aleatoriamente un valor contenido en una tabla tengo un dato $n selecionado desde ...
  #1 (permalink)  
Antiguo 20/01/2009, 15:48
Avatar de Superlinux  
Fecha de Ingreso: octubre-2005
Ubicación: Colombia
Mensajes: 662
Antigüedad: 18 años, 6 meses
Puntos: 1
Pregunta Dato aleatorio

holas amigos .. como le hago para que un dato me cargue aleatoriamente un valor contenido en una tabla

tengo un dato $n selecionado desde una tabla este puede tener el dato (1, 2, 5, 15, 20)

pero necesito asignarcelo a una variable de forma aleatoria cada vez que la pagina me recargue...

ejmplo


$dato = $n;

donde $dato puede ser 1 o 2 5 o 15 aliatoriamente ... cada vez que me recargue la pagina ???


gracias por la ayuda
__________________
"La vida sigue su curso, tú toma parte de ella."
  #2 (permalink)  
Antiguo 20/01/2009, 16:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: dato aliatorio

Si lo tienes en un array usa array_rand, o rand() y escoges un indice aleatorio.

Saludos
  #3 (permalink)  
Antiguo 20/01/2009, 16:31
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: dato aliatorio

Puedes usar la instruccion rand()

<?
$arr[0]=1;
$arr[1]=2;
$arr[2]=5;
$arr[3]=15;
$arr[4]=20;
$pos=rand(1,count($arr)-1);
echo "Mi nuemero aleatorio es ".$arr[$pos];
?>


Otra vez GatorV ... ¬¬ XD
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #4 (permalink)  
Antiguo 20/01/2009, 16:47
Avatar de Superlinux  
Fecha de Ingreso: octubre-2005
Ubicación: Colombia
Mensajes: 662
Antigüedad: 18 años, 6 meses
Puntos: 1
Respuesta: Dato aleatorio

Que tal esto asi .. ???

falta algo ???

Código PHP:
$ciudades $sql->seleccionarLibre"SELECT idCiudad FROM ciudad ORDER BY nombre"); 
                
    foreach(
$ciudades as $ciudad)
    {
        
$idpais $ciudad[idPais];
        if(
$idpais == 1)
        {
        
$datociu $ciudad['idCiudad'];
        
$arr[] = $datociu;
        }
//Fin del else
    
}//Fin del foreach
    
    
$pos=rand(1,count($arr)-1);
    
$dato $arr[$pos];
    
    
$query "select * from articulo_clinica where activo=1 and idCiudad=".$dato." order by idArticulo DESC";
    
$noticias $sql->seleccionarlibre($query); 
__________________
"La vida sigue su curso, tú toma parte de ella."
  #5 (permalink)  
Antiguo 20/01/2009, 16:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Dato aleatorio

Si lo alimentas de la BDD es mejor si haces algo así:
Código sql:
Ver original
  1. SELECT idCiudad FROM ciudad ORDER BY RAND() LIMIT 1

Así te va a devolver un solo registro aleatorio, y ya posteriormente lo puedes insertar.

Saludos
  #6 (permalink)  
Antiguo 20/01/2009, 16:56
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Dato aleatorio

creo que tienes error en la linea
$idpais = $ciudad[idPais];

Supongo faltan unas comillas
Ademas que no existe ese valor en la respuesta del select.
Revisa la logica.
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #7 (permalink)  
Antiguo 20/01/2009, 16:57
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Dato aleatorio

Oye GatorV tu no le agregarias en el select la condicion WHERE idPais=1 ?? pues es una condicion en el foreach ...
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #8 (permalink)  
Antiguo 20/01/2009, 17:00
Avatar de Superlinux  
Fecha de Ingreso: octubre-2005
Ubicación: Colombia
Mensajes: 662
Antigüedad: 18 años, 6 meses
Puntos: 1
Respuesta: Dato aleatorio

ok gracias chicos ...

Código PHP:
$ciudades $sql->seleccionarLibre"SELECT * FROM ciudad ORDER BY nombre"); 
                
    foreach(
$ciudades as $ciudad)
    {
        
$idpais $ciudad[idPais];
        if(
$idpais == 1)
        {
        
$datociu $ciudad['idCiudad'];
        
$arr[] = $datociu;
        }
//Fin del else
    
}//Fin del foreach
    
    
$pos=rand(1,count($arr)-1);
    
$dato $arr[$pos];
    
    
$query "select * from articulo_clinica where activo=1 and idCiudad=".$dato." order by idArticulo DESC";
    
$noticias $sql->seleccionarlibre($query); 
muchas gracias ...
__________________
"La vida sigue su curso, tú toma parte de ella."
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 13:43.