Foros del Web » Programando para Internet » PHP »

Cómo puedo mostrar 4 registros aleatorios con mysql y php

Estas en el tema de Cómo puedo mostrar 4 registros aleatorios con mysql y php en el foro de PHP en Foros del Web. Hola, me gustaría saber como puedo mostrar 4 registros en forma aleatoria de todos los que se encuentran contenidos en mi base de datos. Tengo ...
  #1 (permalink)  
Antiguo 11/07/2009, 13:24
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 8 meses
Puntos: 0
Cómo puedo mostrar 4 registros aleatorios con mysql y php

Hola, me gustaría saber como puedo mostrar 4 registros en forma aleatoria de todos los que se encuentran contenidos en mi base de datos.

Tengo el siguiente codigo:
Código HTML:
$registros=mysql_query("select * from registros ORDER BY rand() limit 4", $conexion) or 
           die("Problemas en el select:".mysql_error());  

$impresos=0;
while ($reg=mysql_fetch_array($registros)) {  
   $registro_id=$reg['registro_id'];

$impresos++;
  
  echo $registro_id;
}
Al verlo se muestran los registros aleatoriamente pero en series de 0, 1, 2, 3 y 4 y yo quisiera que se vieran siempre 4 registros aleatorios cada que cargue la pagina.

Ojalá me puedan ayudar y de antemano agradezco su buena intención al responderme.
  #2 (permalink)  
Antiguo 11/07/2009, 13:34
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Cómo puedo mostrar 4 registros aleatorios con mysql y php

Se supone que lo que estas haciendo te debe traer 4 registros aleatorios. Ahora no entiendo porque estas usando $impresos en ese while. Solo hace incremento

Última edición por abimaelrc; 11/07/2009 a las 13:41
  #3 (permalink)  
Antiguo 11/07/2009, 13:36
 
Fecha de Ingreso: julio-2009
Mensajes: 5
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Cómo puedo mostrar 4 registros aleatorios con mysql y php

a q te refieres en series del 0 al 4?.. probe tu codigo y solo me vota 4 registros.....
  #4 (permalink)  
Antiguo 11/07/2009, 14:01
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Cómo puedo mostrar 4 registros aleatorios con mysql y php

Cita:
Iniciado por wilar Ver Mensaje
a q te refieres en series del 0 al 4?.. probe tu codigo y solo me vota 4 registros.....
Gracias por responder, me refiero a que algunas veces me carga 2 resultados otras veces 3, otras 0 ó 1.

En realidad no sé mucho de php por lo que me he guiado por lo que he ido leyendo aquí y en otros foros,

El codigo lo he cortado para facilitar el entendimiento pero es como el siguiente:
Código HTML:
$registros=mysql_query("select * from publicacion order by RAND() limit 4", $conexion) or 
           die("Problemas en el select:".mysql_error());                     

while ($reg=mysql_fetch_array($registros)){

   $publicacion_id=$reg['publicacion_id'];
   $fecha_final=$reg['fecha_final'];
   $imagen1=$reg['imagen1'];
   $destacada=$reg['destacada'];
   $activa=$reg['activa']; 

   if ( $imagen1 == "" ) {
$imagen1 = "imag/no_imagen.png";}

if ( $destacada != "" ) { 
$destaque = '<div align="center">
  <center>
  <table border="0" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0" width="353" height="137">
<tr>
<td align="center" height="137" width="358"><div align="center">
  <center>
  <table border="0" width="340" style="border:3px outset #000080; border-collapse: collapse" height="124" bgcolor="#FFFFFF">
<tr>
<td width="118" height="21">
<p align="center">&nbsp;</td>
</tr>
<tr>
<td width="139" height="98" bgcolor="#FFFFFF">
<p align="center">
<a href="../post/ver.php?publicacion_id='.$publicacion_id.'" style="text-decoration: none">
<img border="0" src="../post/imagen/al/public/'.$imagen1.'" width="94" height="94"></a></td>
</tr>
</table></center>
</div></td>
</tr>
</table></center>
</div';}
else{
$destaque = "";}

if ( $activa == "si" ) {
$postear = $destaque;}
else {
$postear = "";}

$fecha_actual = date("m/d/Y  h:i:s");

if (  $restan_unidades <= "0" )
 { $postear = "";}
if ($fecha_actual > $fecha_final) {
$postear = "";}
  
  echo $postear;
}
?>
  #5 (permalink)  
Antiguo 11/07/2009, 14:06
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Cómo puedo mostrar 4 registros aleatorios con mysql y php

Cita:
Iniciado por abimaelrc Ver Mensaje
Se supone que lo que estas haciendo te debe traer 4 registros aleatorios. Ahora no entiendo porque estas usando $impresos en ese while. Solo hace incremento
Gracias por responder no se mucho de php y utilicé un codigo de paginación, olvide quitar $impresos e $impresos++, ahora lo he hecho y queda de la misma manera mostrando los registros en series de 0,1, 2, 3 y 4.
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 22:00.