Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

"Creando" bloque Random weblinks

Estas en el tema de "Creando" bloque Random weblinks en el foro de Sistemas de gestión de contenidos en Foros del Web. Ando necesitando un bloque que muestre 10 links pero que sean al azar, lo que hice es poner la funcion random que hay en el ...
  #1 (permalink)  
Antiguo 05/06/2004, 17:45
Avatar de cauly  
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires
Mensajes: 726
Antigüedad: 22 años, 8 meses
Puntos: 0
"Creando" bloque Random weblinks

Ando necesitando un bloque que muestre 10 links pero que sean al azar, lo que hice es poner la funcion random que hay en el modulo weblinks, pero ahi lo que hace es ir a un link al azar y no mostrar 10 links al azar, como bloque funciona bien (tan bien que cargo la página y me lleva a un link al azar, pero saqué el header location para que eso no pase).
Mo se como meter un while para que en lugar de agarrar una url agarre, 10 de la BD y que estas 10 sean distintas, el código que tengo por ahora es este:
Código:
if (eregi("block-Random_Links.php",$_SERVER['PHP_SELF'])) { 
    Header("Location: index.html"); 
    die(); 
} 

global $prefix, $dbi; 

$content = "<table width=\"100%\" border=\"1\" cellpadding=0 cellspacing=0>"; 

    $result = sql_query("select * from ".$prefix."_links_links", $dbi); 
    $numrows = sql_num_rows($result, $dbi); 
    if ($numrows == 1) { 
   $random = 1; 
    } else { 
   srand((double)microtime()*1000000); 
   $random = rand(1,$numrows); 
    } 
    $result2 = sql_query("select url from ".$prefix."_links_links where lid='$random'", $dbi); 
    list($url) = sql_fetch_row($result2, $dbi); 
    sql_query("update ".$prefix."_links_links set hits=hits+1 where lid=$random", $dbi); 




$content .= "<tr><td class=\"inputext\" align=\"center\"><a href=\"enlaces.php\">Ir al Directorio</a></td></tr>"; 
$content .= "</table>"; 

?>
  #2 (permalink)  
Antiguo 06/06/2004, 17:50
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 21 años, 1 mes
Puntos: 4
si los links estan en una tabla es fácil, si tiene algun identificador numerico ya esta regalado, entonces puedes hacer la seleccion al hazar de los links que vas a mostrar, primero generas los numeros al azar que van a ser los identificadores de los links, digamos que generas los numeros 51,22,59,68,26,65,11,29,23,63,47 entonces vas a seleccionar los registros cuyos id sean cada uno de ellos utilizando el IN()
quedaria mas o menos asi la consulta;

$sql = "SELECT * FROM links WHERE id IN(51,22,59,68,26,65,11,29,23,63,47) LIMIT 10"

y puedes crear los numeros tan facil como:
$i=10;
$numeros = array();
while($i){
$numeros[] = random($min,$max)
$i--;
}
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 05:14.