Foros del Web » Programando para Internet » PHP »

pregnta sobre funcion mysql

Estas en el tema de pregnta sobre funcion mysql en el foro de PHP en Foros del Web. Hola, existe alguna funcion mysql que se refiera a un numero de fila??? me explico, quiero acer un script que escoja una fila aleatoria de ...
  #1 (permalink)  
Antiguo 11/05/2008, 08:38
 
Fecha de Ingreso: noviembre-2007
Mensajes: 264
Antigüedad: 16 años, 4 meses
Puntos: 0
pregnta sobre funcion mysql

Hola, existe alguna funcion mysql que se refiera a un numero de fila???

me explico, quiero acer un script que escoja una fila aleatoria de la bd, lo he hecho de la siguiente forma

Código PHP:
    $query "SELECT * FROM `usuarios` ";
    
$con mysql_query($query);
    
$num mysql_num_rows($con);
    
    
$max=$num;
    
$min=1;
    
    
$number=rand($min$max);
    
$query "SELECT `user` FROM `usuarios` WHERE `id_usuarios`='$number'"
pero resulta que al borrar usuarios y tal, la id sigue aumentandose, y la funcion mysql_num_rows me devuelve solo el nº de filas que hay registradas, se qudarian usuarios sin poder mostrarse....
por eso prgnto si existe alguna funcion o alguna manera de obtener una fila aleatoria.. espero haberme explicado bien. salu2
  #2 (permalink)  
Antiguo 11/05/2008, 09:32
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 3 meses
Puntos: 3
Re: pregnta sobre funcion mysql

no se si seria la mejor opcion, pero podrias recorrer las filas ... y almacenar en un array los id de cada fila

despues en $min pones el menor de todos y en $max el mayor

despues $number = rand($min,$max), devuelve un numero que tendrias que comprobrar que se encuentra en el array (si existe en el array es que existe esa fila)


Un saludo
  #3 (permalink)  
Antiguo 11/05/2008, 10:11
 
Fecha de Ingreso: diciembre-2007
Mensajes: 110
Antigüedad: 16 años, 4 meses
Puntos: 1
Re: pregnta sobre funcion mysql

Cita:
Iniciado por layker Ver Mensaje
Hola, existe alguna funcion mysql que se refiera a un numero de fila???

me explico, quiero acer un script que escoja una fila aleatoria de la bd, lo he hecho de la siguiente forma

Código PHP:
    $query "SELECT * FROM `usuarios` ";
    
$con mysql_query($query);
    
$num mysql_num_rows($con);
    
    
$max=$num;
    
$min=1;
    
    
$number=rand($min$max);
    
$query "SELECT `user` FROM `usuarios` WHERE `id_usuarios`='$number'"
pero resulta que al borrar usuarios y tal, la id sigue aumentandose, y la funcion mysql_num_rows me devuelve solo el nº de filas que hay registradas, se qudarian usuarios sin poder mostrarse....
por eso prgnto si existe alguna funcion o alguna manera de obtener una fila aleatoria.. espero haberme explicado bien. salu2


No se si esto te sirva..pero

Código PHP:
$valor=mysql_result($query,n° de fila,n° de columna); 
  #4 (permalink)  
Antiguo 12/05/2008, 02:11
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Re: pregnta sobre funcion mysql

con esta linea ya coges uno al azar :

$qry = mysql_query("SELECT user FROM usuarios order by RAND() limit 1") ;


Ahi lo tienes arreglado, sin mas tonterias. MySQL ya trae para escoger al azar, y limitar a 1 fila ;)
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 00:32.