Hola buedan,
Yo plantearía una solución basada en JavaScript para no estar haciendo tantas llamadas al servidor. Al cargar la página obtendría las 10 noticias usando ORDER BY fecha y luego con JavaScript y CSS las mostraría aleatoriamente de 1 en 1.
Si no quieres usar JavaScript, lo que haría es obtener las 10 últimas noticias usando ORDER BY fecha y luego usar un rand de PHP para obtener uno de los 10 registros devueltos de forma aleatoria:
Código PHP:
$qry = "SELECT * FROM noticiasbanner$idioma ORDER BY fecha DESC LIMIT 10";
$res = mysql_query($qry);
$numRegistros = mysql_affected_rows();
if ($numRegistros > 0)
{
$noticiaAMostrar = rand(0, $numRegistros - 1);
$indice = 0;
$encontrada = false;
while ((!$encontrada) && ($fila = mysql_fetch_assoc($res)))
{
if ($indice == $noticiaAMostrar)
{
// Aquí extraemos los datos de la noticia
$encontrada = true;
}
}
}
Salu2,
Carlos.