Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

mostrar un programa cada dia en sistema de descargas

Estas en el tema de mostrar un programa cada dia en sistema de descargas en el foro de Mysql en Foros del Web. hola a todos; pues veran acabo de terminar el sistema de descargas para mi web y de momento funciona muy bien creo ke llevo colocando ...
  #1 (permalink)  
Antiguo 08/02/2006, 23:38
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
mostrar un programa cada dia en sistema de descargas

hola a todos; pues veran acabo de terminar el sistema de descargas para mi web y de momento funciona muy bien creo ke llevo colocando unos 10 enlaces y me gustaria hacer algo asi como "El programa del dia" asi como el softonic pero echando mano de todos los programas ke hay en mi BD y no 1 el lunes otro el martes y asi y cuando llegue nuevamente lunes se repita el ke salio el lunes anterior, alguien sabe como puedo hacer eso ??, se agrece la ayuda
  #2 (permalink)  
Antiguo 09/02/2006, 03:04
 
Fecha de Ingreso: diciembre-2001
Mensajes: 32
Antigüedad: 22 años, 5 meses
Puntos: 0
Lo puedes hacer de la siguiente forma:

La primera vez que se acceda a la web, si no hay programa del día definido para ese día, se obtiene uno aleatorio de la base de datos (RAND).

El programa que obtengas, lo almacenas en otra tabla indicando la fecha, de forma que todas las personas que entren se muestre el mismo programa en ese día.

Cuando alguien entre en la página, y no exista ningún programa en la tabla de programas del día, para ese día, se vuelve a ejecutar el script para obtener uno aleatorio, ya que quiere decir que es el primer visitante del día.

La tabla de programas del día la puedes utilizar también para que no se repitan los programas.

No sé si me habré explicado bien....
Un Saludo
  #3 (permalink)  
Antiguo 09/02/2006, 06:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Deberías concretar que BBDD usas (Mysql?) .. cual es el modelo de datos que usas (tus tablas) .. como gestionas tus fechas (en que formato y que tipo de campos) .. Con esos datos se podría ver alguna sentencia SQL más concreta para hacer lo que pretendes .. pero en principio con SQL sólo deberías resolverlo sin más PHP por médio.

Un saludo,
  #4 (permalink)  
Antiguo 09/02/2006, 07:11
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
hola, gracias a ambos por sus respuestas, Cluster sí, uso MySQL y las fechas de la tabla en la ke guardo las descargas es de tipo DATETIME (0000-00-00 00:00:00), a ver si con eso me puedas decir mas o menos como deberia de hacerlo, se agradece

saludos
  #5 (permalink)  
Antiguo 09/02/2006, 07:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Por mi parte no entendí bien que tipo de consulta necesitas hacer.

Pon algún ejemplo con datos reales .. para que nos hagamos una idea. Vendría bien que pusieras la estructura de la tabla/s que uses (si es que intervienen más de una) y que comentes que significado tienen tus campos (los más relevantes).

Tienes que concretar en que se basa "el programa del día" .. Es por fecha? .. (todos los que sean de fecha "hoy" o que ingresaron como registros nuevos en fecha de hoy? con algún límite (los 10 últimos? .. etc)) .. o usas otro critério (por n° de descargas? .. registras ese dato en otro campo como un "contador"? .. )

Moví tu pregunta al foro de BBDD para que te orienten mejor al respecto de la sentencia SQL más adecuada (cuando confirmes bien que quieres hacer).

Un saludo,
  #6 (permalink)  
Antiguo 09/02/2006, 08:47
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
haber aki les pongo la estructura de mi tabla ya ke solo uso una

Código PHP:
CREATE TABLE `descargas` (
  `
id_downint(6NOT NULL auto_increment// id del programa
  
`nombrevarchar(150NOT NULL default ''// nombre del programa
  
`tamanovarchar(10NOT NULL default ''// tamaño del programa
  
`fenviodatetime NOT NULL default '0000-00-00 00:00:00'// fecha de envio
  
`screenvarchar(50NOT NULL default ''// screenshot de la interface del prog.
  
`categoriavarchar(150NOT NULL default ''// categoria (p2p, navegadores, etc)
  
`webvarchar(150NOT NULL default ''// web del autor
  
`lenguajevarchar(20NOT NULL default '',// lenguaje del prog.
  
`licenciavarchar(15NOT NULL default ''// licencia (free o shareware)
  
`contenidolongtext NOT NULL// descripcion del prog.
  
`visitasint(6NOT NULL default '0'// visitas recibidas
  
`comentariosint(6NOT NULL default '0'// comentarios recibidos
  
`n_descint(6NOT NULL default '0'// numero de descargas
  
`lnklongtext NOT NULL// enlace directo a la descarga
  
PRIMARY KEY  (`id_down`)

les explico lo ke kiero hacer, lo de los mas descargados ya lo tengo hecho, lo ke necesito es ke cada dia me muestre un programa diferente de forma aleatoria, por ejemplo, si es lunes me muestra "firefox", martes "winamp" ... domingo "flash" y si es lunes pues ke no se repita el programa ke salio el lunes anterior o sea firefox, pk usualmente si kiero mostrar un programa por dia tendria ke echar mano de 7 programas para los 7 dias pero lo ke yo kiero es echar mano de todos los ke tenga en la tabla descargas de mi base de datos, no se si me explico bien, espero ke me puedan ayudar con eso

saludos
  #7 (permalink)  
Antiguo 10/02/2006, 15:01
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 5 meses
Puntos: 5
tal vez te sirva esta pequenia consulta, cya:
Código PHP:
--
SELECT FROM descargas WHERE id_down = (select FLOOR(1+RAND()*MAX(id_down)) FROM descargas);
-- 
__________________
"El Conocimiento es de todos, no solo de algunos"
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:14.