Foros del Web » Programando para Internet » PHP »

Problema con random o aleatorio, Ayuda !!! :)

Estas en el tema de Problema con random o aleatorio, Ayuda !!! :) en el foro de PHP en Foros del Web. Tengo el siguiente codigo, para llamar a dos registros aleatoriamente: Código PHP: <?php  require_once( 'Connections/test14.php' );  ?> <?php mysql_select_db ( $database_test14 ,  $test14 ); $query_Recordset1  ...
  #1 (permalink)  
Antiguo 02/04/2004, 08:43
 
Fecha de Ingreso: diciembre-2001
Ubicación: Mar del Plata
Mensajes: 201
Antigüedad: 16 años
Puntos: 0
Problema con random o aleatorio, Ayuda !!! :)

Tengo el siguiente codigo, para llamar a dos registros aleatoriamente:

Código PHP:
<?php require_once('Connections/test14.php'); ?>
<?php
mysql_select_db
($database_test14$test14);
$query_Recordset1 "SELECT * FROM libros ORDER BY RAND() LIMIT 4";
$Recordset1 mysql_query($query_Recordset1$test14) or die(mysql_error());
$row_Recordset1 mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 mysql_num_rows($Recordset1);


mysql_select_db($database_test14$test14);
$query_Recordset2 "SELECT * FROM libros ORDER BY RAND() LIMIT 1";
$Recordset2 mysql_query($query_Recordset2$test14) or die(mysql_error());
$row_Recordset2 mysql_fetch_assoc($Recordset2);
$totalRows_Recordset2 mysql_num_rows($Recordset2);
?>

<?php echo $row_Recordset1['titulo']; ?>
<?php 
echo $row_Recordset2['titulo']; ?>
Pero sucede que por ejemplo al tener pocos registros, el resultado obtenido por
ambas llamadas a la base de datos, a veces es el mismo, es decir se repite y
como son llamadas a dicha db para mostrar diferentes noticias en la misma
página, es obvio que no me sirve esta solución.

Pregunta: ¿Como sería la forma de obtener dos, tres, o la cantidad que quiera
de registros aleatorios pero que no se repitan entre si y poder mostrarlos
en la misma página? Se podria hacer por ejemplo ORDER BY RAND() LIMIT 5"; y luego recuperar esos 5 resultados con un array, esto no se hacerlo y tampoco como llamar a esos 5 por separado para imprimirlos mediante 5 echo en distintas partes de la page ?

Si alguien me lo pudiera explicar le estaría agradecido :)
__________________
:) Fernando Dichiera (:
[email protected]
  #2 (permalink)  
Antiguo 02/04/2004, 08:47
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,
Cita:
Se podria hacer por ejemplo ORDER BY RAND() LIMIT 5"; y luego recuperar esos 5 resultados con un array, esto no se hacerlo y tampoco como llamar a esos 5 por separado para imprimirlos mediante 5 echo en distintas partes de la page ?
Si, simplemente metes en un array el resultado de esa consulta:
Código PHP:
$noticias=array();
while(
$row=mysql_fetch_array($result)) {
  
$noticias[]=$row;
}
echo 
$noticias[0]['titulo']; // primer titulo
echo $noticias[3]['titulo']; // segundo titulo 
Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 02/04/2004, 11:09
 
Fecha de Ingreso: diciembre-2001
Ubicación: Mar del Plata
Mensajes: 201
Antigüedad: 16 años
Puntos: 0
Muchas gracias, eso es lo que necesitaba, pero no sabia como se hacia, entendia la logica pero no tenia idea de como trabajar con arrays. Eres muy amable !!! Gracias :)
__________________
:) Fernando Dichiera (:
[email protected]
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 16:27.