Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/02/2009, 16:09
Chechux
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 15 años, 8 meses
Puntos: 1
Obtención aleatoria de resultado segun una busqueda

Buenas noches a todos ^_^

Estoy haciendo una búsqueda a una base de datos, y dentro de los valores encontrados, quiero recoger uno al azar (con las mismas probabilidad que el resto), para ello lo estoy haciendo de esta forma:

$querytiposobjetos=mysql_query("SELECT * FROM dbtipos WHERE tipo LIKE '".$objetotipo[$k]."' ORDER BY tiposobjetoid") or die("Error en query:".mysql_error() );
echo $numresultados=mysql_num_rows($querytiposobjetos); //Num resultados
echo $tipoobjetoaleatorio=rand(1,$numresultados); // Numero aleatorio dentro de los resultados
mysql_data_seek($querytiposobjetos,$tipoobjetoalea torio); //Posiciono ese numero en la busqueda (esto no me va bien, no se hará así digo yo)
$row=mysql_fetch_array($querytiposobjetos);
echo $row['tiposobjeto'];

El caso es que ocurren varias cosas:
1.- No sé si he liado la madeja con este asunto, si hay otra forma más sencilla de hacerlo os lo agradecería. (por lo menos lo intento... jeje)
2.- No va bien, no me coincide el nº sacado en el rand, con el resultado obtenido.
3.-Como esto se ejecuta dentro de otro bucle y lo hace por tanto varias veces, con el primer resultado no da ningún error pero a partir del segundo ya destartala el resto de querys y sale un error con el mysql_data_seek.


Buenoo.... creo que eso es todo. Le he dado mil vueltas y no consigo que funcione bien. Gracias por anticipado y un saludo