Foros del Web » Programando para Internet » PHP »

Mostrar registros aleatorios

Estas en el tema de Mostrar registros aleatorios en el foro de PHP en Foros del Web. Hola!!! Bueno, mi duda es: ¿Cómo se mostraría 1 registro ALEATORIO de una base de datos mysql, y que cambie cada día. Bueno, esque tengo ...
  #1 (permalink)  
Antiguo 28/04/2008, 13:26
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
De acuerdo Mostrar registros aleatorios

Hola!!!

Bueno, mi duda es: ¿Cómo se mostraría 1 registro ALEATORIO de una base de datos mysql, y que cambie cada día.

Bueno, esque tengo una web de chistes y es para mostrar 1 chiste aleatorio en la página principal, que cambie cada dia.

Espero que entiendan la pregunta.

Saludos:
  #2 (permalink)  
Antiguo 28/04/2008, 13:43
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 9 meses
Puntos: 638
Re: Mostrar registros aleatorios

hola, lo haces asi:
Código PHP:
<?php
$sql 
mysql_query("SELECT chiste FROM tabla_chistes ORDER BY RAND()")
?>
saludos y suerte
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #3 (permalink)  
Antiguo 29/04/2008, 07:28
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Re: Mostrar registros aleatorios

Bueno, gracias....

Usé el script así:

<?php
//Conexión a la base de datos
$con = mysql_connect("direccion","user","pass") or die (mysql_error());
mysql_select_db("basedatos",$con) or die (mysql_error());
$sql = mysql_query("SELECT chiste FROM chcortos ORDER BY RAND()",$con)
?>

...pero no funciona.

¿Cuál es el fallo?
  #4 (permalink)  
Antiguo 29/04/2008, 07:33
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Re: Mostrar registros aleatorios

(punto y coma) ; al final de la consulta...

$sql = mysql_query("SELECT chiste FROM chcortos ORDER BY RAND()",$con);

o en caso de que no sea eso, agrega esto...

Código PHP:
$sql mysql_query("SELECT chiste FROM chcortos ORDER BY RAND()",$con) or die(mysql_error()); 
Nos vemos.
  #5 (permalink)  
Antiguo 29/04/2008, 08:41
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Re: Mostrar registros aleatorios

Código PHP:
try
{
        
mysql_connect($host,$user,$pw) ;
        
mysql_select_db($db) ;

        
$qry mysql_query("Select chiste from chcortos order by RAND() limit 1") ;

        
$chiste mysql_result($qry,0) ;

        echo 
$chiste ;
}
catch (
Exception $e)
{
        echo 
"Error Accediendo a la base de Datos: ".$e->getMessage() ;

--» No lo copies Integro pk para simular las tabulaciones he usado Caracteres No Imprimible (ALT + 255)

--» Los try y Catch solo funcionan a partir de PHP 5, por lo que si tienes php 4, qta los try y catch y controla de otra forma si te da error la conexion a la base de datos.

ByeZ !
  #6 (permalink)  
Antiguo 29/04/2008, 12:27
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Mensaje Re: Mostrar registros aleatorios

....Lo siento, sigue sin funcionar.
  #7 (permalink)  
Antiguo 05/05/2008, 08:52
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Re: Mostrar registros aleatorios

+ info:

Me sale una página blanca con esto:

Resource id #3


...Por favor, ayúdenme.
  #8 (permalink)  
Antiguo 05/05/2008, 10:34
 
Fecha de Ingreso: junio-2005
Ubicación: Madrid, España
Mensajes: 288
Antigüedad: 18 años, 10 meses
Puntos: 1
Re: Mostrar registros aleatorios

Si te sale eso es que estas leyendo el resultado de hacer mysql_query, a ese resultado te falta hacerle un mysql_fetch_row o mysql_fetch_array, o mysql_fetch_object para poder leer los valores que devuelve la consulta
  #9 (permalink)  
Antiguo 05/05/2008, 11:41
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
De acuerdo Gracias

Gracias.
  #10 (permalink)  
Antiguo 05/05/2008, 12:01
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Re: Mostrar registros aleatorios

¿Podrían ayudarme un poco más?
Se puede hacer que elija un registro aleatorio de x tablas concretas.
Por ejejemplo, tengo tres tablas que se llaman: a, b y c.
¿Se podría hacer que saque un registro aleatorio de una de estas tres tablas?.
  #11 (permalink)  
Antiguo 07/05/2008, 07:15
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
De acuerdo Traslado

He trasladado la pregunta a:

http://www.forosdelweb.com/f86/varia...as-vez-583576/
  #12 (permalink)  
Antiguo 03/01/2009, 04:46
 
Fecha de Ingreso: enero-2009
Mensajes: 6
Antigüedad: 15 años, 3 meses
Puntos: 0
Exclamación Respuesta: Mostrar registros aleatorios

hola yo tbn estaba buscando una funcion que me muestre cada dia registros alatorios y con un simple rand no te va a salir eso te muestra aleatoriament kda vez que le llamas a la pagina con la funcion time integrada se puede hacer yo tengo este pero no me sale aleatoriament solo se queda en un registro
$query = "SELECT * from accounts ORDER BY RAND(" . time() . "86400" . time() . ") LIMIT 1"; no se donde esta mal
  #13 (permalink)  
Antiguo 03/01/2009, 05:25
 
Fecha de Ingreso: junio-2007
Mensajes: 70
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Mostrar registros aleatorios

Porque no hacéis un select de la tabla, luego con php generáis un número aleatorio entre 0 y el número de tuplas menos 1 y os quedáis con esa 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 06:38.