Foros del Web » Programando para Internet » PHP »

campo aleatorio de una tabla

Estas en el tema de campo aleatorio de una tabla en el foro de PHP en Foros del Web. como puedo seleccionar un campo aleatorio de una tabla? por ejemplo id es el identificador y yo quiero una vez a la semana selecionar uno ...
  #1 (permalink)  
Antiguo 03/12/2002, 15:34
Avatar de lubetpic  
Fecha de Ingreso: enero-2002
Ubicación: San Jose
Mensajes: 679
Antigüedad: 22 años, 3 meses
Puntos: 0
Pregunta campo aleatorio de una tabla

como puedo seleccionar un campo aleatorio de una tabla?

por ejemplo id es el identificador y yo quiero una vez a la semana selecionar uno aleatorio y desplegar el contenido.

el problema lo encuentro porque no siempre el id viene en numeros consecutivos
  #2 (permalink)  
Antiguo 03/12/2002, 15:38
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
SELECT * FROM tabla ORDER BY RAND() LIMIT 1
__________________
M a l d i t o F r i k i

Última edición por Cain; 03/12/2002 a las 15:54
  #3 (permalink)  
Antiguo 03/12/2002, 15:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Lo que puedes hacer es la consulta por ese "ramdom" que generas .. y comprobar q arroja la consulta 1 registro .. si no arroja al menos un registro .. repites la consulta:

Código PHP:
While ($total<=1){
$sql="SELECT * FROM tabla WHERE id=rand()";
$consulta=mysql_query($sql);
$total=mysql_num_rows($consulta);
}

// en este punto ya tiene q haberte devuelto un registro aleatorio q exista ..
// Ya puede hacer tu mysql_result() o si te gusta tu $row=mysql_fetch_xxx
// para obtener tus campos de tu registro. 

Un saludo,

pd: jeje si va avisa ..q lo hice al vuelo xD
  #4 (permalink)  
Antiguo 03/12/2002, 16:09
Avatar de lubetpic  
Fecha de Ingreso: enero-2002
Ubicación: San Jose
Mensajes: 679
Antigüedad: 22 años, 3 meses
Puntos: 0
gracias

me parece un poco mas eficiente la de Cain, pero aun asi gracias
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 23:39.