Foros del Web » Programando para Internet » PHP »

Ayuda con banners aleatorios

Estas en el tema de Ayuda con banners aleatorios en el foro de PHP en Foros del Web. Hola a todos, estoy tranado de hacer un codigo para poder mostrar banners aleatorios, en una base de datos tengo los nombres de los banners, ...
  #1 (permalink)  
Antiguo 03/03/2006, 18:30
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 12 años, 10 meses
Puntos: 0
Pregunta Ayuda con banners aleatorios

Hola a todos, estoy tranado de hacer un codigo para poder mostrar banners aleatorios, en una base de datos tengo los nombres de los banners, tenia pensado escoger un banner al azar con srand, teniendo de valores 1, y el valor mas grande de los ids, pero empeze a tener problemas, por que los banners los puedo borrar, es decir, supongamos que tengo 3 banners en la base de datos, que su identificador es 1,5,7 como puedo escoger uno al azar, estoy usando este codigo pero no me esta funcionando:

Código PHP:
$archivos mysql_db_query("base_de_datos","select * from banners") or die ('error: '.mysql_error());
 while(
$row=mysql_fetch_array($archivos)) 

$myarray = array($row['id_banner']);

}
$banner array_rand($myarray);
echo 
$myarray[$banner]; 
saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com

Última edición por chidomen; 03/03/2006 a las 18:57
  #2 (permalink)  
Antiguo 03/03/2006, 19:38
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Hacé una consulta que te traiga todos los id's.
Con eso vas a tener 2 cosas: la cantidad de registros (mysq_num_rows) y la capacidad de moverte entre ellos (mysql_data_seek).

Por lo que elegís un número entero entre 0 y lo devuelto mysql_num_rows() (menos 1) y ese número que elegís al azar se lo pasás a mysql_data_seek.

Así obtenés un id, y después hacés la consulta para traer todos los datos de ese id.


Saludos.
  #3 (permalink)  
Antiguo 04/03/2006, 01:01
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 12 años, 10 meses
Puntos: 0
Muchas gracias por la informacion, pero segui con el mismo problema ya que con mysql_num_rows me da el numero de registros encontrados ($num_reg), cuando lo elegia al azar de los numeros entre 0 y $num_reg, pero ya pde resolverlo, por si a alguien le sirve esto fue lo que hice:

Código PHP:
$quotation_query_string = ("SELECT * FROM tabla WHERE activa ='1' ORDER BY RAND() LIMIT 1") or die ('hubo un error: 'mysql_error());
$quotation_query mysql_query($quotation_query_string);
$quotation_result mysql_fetch_object($quotation_query);

// resultado
$bann$quotation_result->nombre
Saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
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 13:24.