Foros del Web » Programando para Internet » PHP »

Lista aleatorio de enlaces con php

Estas en el tema de Lista aleatorio de enlaces con php en el foro de PHP en Foros del Web. Hola a todos. Verán necesito crear una lista de enlaces aleatorios. es decir de unos 20 enlaces, pero solo mostrar unos 5-10 aleatoria mente. No ...
  #1 (permalink)  
Antiguo 25/01/2012, 11:42
Avatar de NJS
NJS
 
Fecha de Ingreso: noviembre-2011
Mensajes: 371
Antigüedad: 12 años, 5 meses
Puntos: 28
Lista aleatorio de enlaces con php

Hola a todos.
Verán necesito crear una lista de enlaces aleatorios.

es decir de unos 20 enlaces, pero solo mostrar unos 5-10 aleatoria mente.


No estoy seguro de como hacerlo, me podría ayudar alguien?
__________________
Mejores empresas de Hosting
-=-=-=-=-=-=-=-
Empresas de Hosting
  #2 (permalink)  
Antiguo 25/01/2012, 12:39
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 13 años, 7 meses
Puntos: 91
Respuesta: Lista aleatorio de enlaces con php

Bueno, una forma que creo es buena es almacenar todos los enlaces en un array y luego obtener la cantidad aleatoria que quieres usando array_rand

así

Código PHP:
Ver original
  1. $enlaces = array(
  2.      'enlace1',
  3.      'enlace2',
  4.      'enlace3',
  5.      'enlace4',
  6.      'enlace5',
  7.      'enlace6',
  8.      'enlace7',
  9. .
  10. .
  11. .
  12. );
  13.  
  14. $enlaces_aleatorios = array_rand($enlaces,5);
  15.  
  16. var_dump($enlaces_aleatorios);

Saludos.
__________________
Utilice el Highlight para mostrar código, mis ojos se lo agradecerán :)
qué es esto? :O -> http://i48.tinypic.com/5x3kzs.png
Ya sabes :)
  #3 (permalink)  
Antiguo 25/01/2012, 12:47
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: Lista aleatorio de enlaces con php

Hola, ¿dónde tenés almacenados los enlaces?

Si los tenés en una base de datos sql, podés hacerlo fácilmente con una combinación de RAND() y LIMIT:
Código:
select * from tabla_de_enlaces order by rand() limit 5
Edito:
Si los tenés en un array, la solución de Ribon es mucho más limpia :P

Saludos.
  #4 (permalink)  
Antiguo 25/01/2012, 12:53
Avatar de NJS
NJS
 
Fecha de Ingreso: noviembre-2011
Mensajes: 371
Antigüedad: 12 años, 5 meses
Puntos: 28
Respuesta: Lista aleatorio de enlaces con php

Hola,
Gracias por contestar,
lo que me muestra este codigo es:

Código PHP:

array
  
=> int 0
  1 
=> int 1
  2 
=> int 2
  3 
=> int 4
  4 
=> int 6 
__________________
Mejores empresas de Hosting
-=-=-=-=-=-=-=-
Empresas de Hosting
  #5 (permalink)  
Antiguo 25/01/2012, 12:54
Avatar de NJS
NJS
 
Fecha de Ingreso: noviembre-2011
Mensajes: 371
Antigüedad: 12 años, 5 meses
Puntos: 28
Respuesta: Lista aleatorio de enlaces con php

Cita:
Iniciado por geq Ver Mensaje
Hola, ¿dónde tenés almacenados los enlaces?

Si los tenés en una base de datos sql, podés hacerlo fácilmente con una combinación de RAND() y LIMIT:
Código:
select * from tabla_de_enlaces order by rand() limit 5
Edito:
Si los tenés en un array, la solución de Ribon es mucho más limpia :P

Saludos.
No tengo los enlaces en una base de datos... este es el problema :)
Gracias de todas formas.
__________________
Mejores empresas de Hosting
-=-=-=-=-=-=-=-
Empresas de Hosting
  #6 (permalink)  
Antiguo 25/01/2012, 13:02
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: Lista aleatorio de enlaces con php

Array_rand te da los índices aleatorios. Lo que tendrías que hacer luego es buscar cada índice en tu array de enlaces:

Código PHP:
foreach($enlaces_aleatorios as $k) {
  
$enlace=$enlaces[$k];
  
//mostrar el enlace

También lo podrías hacer almacenando título y url en el mismo array (cito el código de Ribon):

Código PHP:
$enlaces = array(
  array(
'titulo1','enlace1'),
  array(
'titulo2','enlace2'),
  ...
  ...
); 

$enlaces_aleatorios array_rand($enlaces,5);

//Y mostrar los enlaces
foreach($enlaces_aleatorios as $k) {
  
$enlace=$enlaces[$k];
  echo 
'<a href="'.$enlace[1].'">'.htmlentities($enlace[0]).'</a><br />';

Saludos.
  #7 (permalink)  
Antiguo 25/01/2012, 13:25
Avatar de NJS
NJS
 
Fecha de Ingreso: noviembre-2011
Mensajes: 371
Antigüedad: 12 años, 5 meses
Puntos: 28
Respuesta: Lista aleatorio de enlaces con php

Al final lo he echo de este modo :

Código PHP:
<?php
$enlaces 
= array("enlace1" => "www.prueba1.com","enlace2" => "www.prueba2.com","enlace3" => "www.prueba3.com","enlace4" => "www.prueb4a.com","enlace5" => "www.prueba5.com","enlace6" => "www.prueba6.com","enlace7" => "www.prueba7.com","enlace8" => "www.prueba8.com",);
arsort($enlaces);
shuffle($enlaces);
while (list(
$i,$valor)=each($enlaces))
{
echo 
'<a href="http://'.$valor.'">'.$valor.'</a>';
echo 
"<Br>";
}
?>
Gracias a todos por contestar.
__________________
Mejores empresas de Hosting
-=-=-=-=-=-=-=-
Empresas de Hosting

Etiquetas: enlaces, lista, aleatoria
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 11:03.