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

Fechas

Estas en el tema de Fechas en el foro de Mysql en Foros del Web. Hola chicos, Tengo el siguiente problema: Miren, tengo que un script q use bd que guarde images y que estas imagenes me las muestre en ...
  #1 (permalink)  
Antiguo 30/12/2010, 00:24
 
Fecha de Ingreso: julio-2005
Mensajes: 66
Antigüedad: 18 años, 9 meses
Puntos: 1
Fechas

Hola chicos,

Tengo el siguiente problema:

Miren, tengo que un script q use bd que guarde images y que estas imagenes me las muestre en determinada fechas ejemplo..

la img1.jpg quiero q se muestre del jueves 30 de diciembre al prox jueves 6 de enero del 2011 (una semana) y q despues se cambie a la q segue img2.jpg

La cuention es:

1. como diseñar la base de datos o la tabla con los campos
2. como se realizaria la consulta para q me este imprimiendo eso durante ese periodo la imagen que corresponda a esa semana


Saludos y gracias de antemano
  #2 (permalink)  
Antiguo 30/12/2010, 04:22
 
Fecha de Ingreso: diciembre-2010
Mensajes: 61
Antigüedad: 13 años, 4 meses
Puntos: 4
Respuesta: Fechas

Como veo que van de semana en semana, crea un campo en la base de datos que se llame semana. Un año tiene 52 semanas.

el query seria algo así: "Selecciona imagen de la tabla cuya semana sea la actual".


Si programas en php para saber la semana en la que estas utiliza el siguiente código:

Código:
<?php
//en que semana estoy
 echo $semana_actual=date('W');


?>

Es sólo una idea;
  #3 (permalink)  
Antiguo 30/12/2010, 08:01
 
Fecha de Ingreso: julio-2005
Mensajes: 66
Antigüedad: 18 años, 9 meses
Puntos: 1
Respuesta: Fechas

hola yop289 gracias por ayudarme :) y creo que si puede ser pero ahora como seria para guardar la imagen por semana?


Saludos
  #4 (permalink)  
Antiguo 30/12/2010, 15:12
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Fechas

Debes aclarar antes algunas cuestiones. Fíjate en que eres tú quien establece desde qué día comienza la semana. Por otra parte, parece que guardas los nombres de las imágenes img2.jpg en un campo.
Si asignas un campo numérico con el número de la semana en que quieres que aparezca la imagen, podrías hacerlo, pero tampoco dices si vas a limitar a un año, es decir a 365 y luego volverás a repetir, o lo que es lo mismo, si vas a emplear 52 imágenes o quieres emplear más.
Estas cuestiones son previas.
Te aviso de que puedes sacar el número de la semana del nombre, es decir, de img2.jpg puedes sacar el 2, y así de todos los nombres, lo que te ahorraría ese campo numérico.
Respecto a cómo sacar la fecha, yo te aconsejo, dado que quieres comenzar con el 30 de diciembre de 2010, lo siguiente:
SELECT imagen FROM tutabla WHERE camponumero = CEIL(DATEDIFF(curdate(),'2010-12-30')/7);

resto a la fecha de hoy la fecha de comienzo y busco el camponumero de orden que equivalga al número entero que corresponda a esa semana (hay que convertir los decimales a entero superior: de ahí el CEIL).
Naturalmente podrían usarse las funciones LOCATE y SUBSTRING para sacar el número del nombre del archivo de imagen. Pero deberías decirnos cuántas imágenes vas a usar, si sólo una por semana y si el nombre del archivo va a ser siempre ese y nunca querrás cambiar el orden de las imágenes para poder tomar las decisiones adecuadas.
  #5 (permalink)  
Antiguo 30/12/2010, 16:04
 
Fecha de Ingreso: julio-2005
Mensajes: 66
Antigüedad: 18 años, 9 meses
Puntos: 1
Respuesta: Fechas

Hola jurena muchas gracias por responder,

Lo de la imagen era un ejemplo en realidad ocupo que un texto e imagen se este mostrando cada semana algo asi como una cartelera, y pues no esta limitado a un año si no para todos conforme se van insertando y asignando la semana.

algo como una cartelera de cine algo como esto:
http://tolucavip.com/asp/cine/index.asp?id=4


Saludos
  #6 (permalink)  
Antiguo 31/12/2010, 06:59
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Fechas

Yo en la tabla donde guardo las películas creo un campo date que podemos llamar diacartel, por ej., para guardar el día de la semana desde el que esa película debe aparecer como cartel. Así no tendrás que hacer operaciones, pues la consulta hará el trabajo y ya no importará el año, sino sólo la fecha de partida. Luego te bastará con hacer esto:
SELECT imagen FROM tutabla WHERE CEIL(DATEDIFF(diacartel,'2010-12-30')/7) = CEIL(DATEDIFF(curdate(),'2010-12-30')/7);

No lo he probado.
  #7 (permalink)  
Antiguo 31/12/2010, 07:44
 
Fecha de Ingreso: diciembre-2010
Mensajes: 61
Antigüedad: 13 años, 4 meses
Puntos: 4
Respuesta: Fechas

Cita:
Iniciado por gromichs Ver Mensaje
Hola jurena muchas gracias por responder,

Lo de la imagen era un ejemplo en realidad ocupo que un texto e imagen se este mostrando cada semana algo asi como una cartelera, y pues no esta limitado a un año si no para todos conforme se van insertando y asignando la semana.

algo como una cartelera de cine algo como esto:
[url]http://tolucavip.com/asp/cine/index.asp?id=4[/url]


Saludos
Vamos a ver......

Para resolver el problema no necesitas para nada base de datos:

¿Cómo hacerlo?

1)Creas un directorio lo llamas caratulas
2) Dentro de este directorio creas unas carpetas con años por ejemplo
2011 es decir mañana
2012 dentro de un año uff cuanto queda....
3) dentro de 2011 pones las imagenes llamandolas 1.jpg( o la extensión que sea), 2.jpg para la semana 2, así hasta 52 imagenes que 52 semanas tienes el año.


En PHP

Código:
<?php
$año_actual=date('Y');
$semana_actual=date('W');

echo "<img src=\"caratulas/".$año_actual."/".$semana_actual.".jpg\">";


?>

la respuesta al código para esta semana: <img src="caratulas/2010/52.jpg">

Saludos es sólo una idea.
  #8 (permalink)  
Antiguo 31/12/2010, 09:06
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Fechas

yop289,
te olvidas de un pequeño detalle, el comienzo de la semana. En el mundo del cine la cartelera se renueva semanalmente, pero la semana comienza los jueves, lo que invalida el uso de funciones de fecha que comienzan la semana el domingo, el sábado o el lunes; eso te causará todavía más problemas cuando intentes separar año con año, algo que no importa a la cartelera que va de jueves a jueves, sea cual sea el año; imaginemos una película que se estrena un jueves final de año, que es penúltimo día del año, por poner un ejemplo; esa película debe permanecer hasta el miércoles del siguiente año, es decir, tendrías que tener esa imagen en dos carpetas con distinto número. De ahí mi propuesta de usar una tabla con un campo donde guardar la fecha de estreno. Naturalmente, todo esto puede hacerse con PHP.
  #9 (permalink)  
Antiguo 31/12/2010, 09:37
 
Fecha de Ingreso: julio-2005
Mensajes: 66
Antigüedad: 18 años, 9 meses
Puntos: 1
Respuesta: Fechas

OK muchas gracias muchachos..

jurena deja lo pruebo diseño la tabla y todo y veo que pasa ya te cuento mas tarde seguramente funcionara :)..

Ya te cuento que paso

Saludos y gracias de antemano
  #10 (permalink)  
Antiguo 31/12/2010, 09:40
 
Fecha de Ingreso: julio-2005
Mensajes: 66
Antigüedad: 18 años, 9 meses
Puntos: 1
Respuesta: Fechas

ahora que veo un poco mejor la consulta como sabra q es cada semana o hasta q dia


Saludos
  #11 (permalink)  
Antiguo 31/12/2010, 10:00
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Fechas

Mira, si tú pones una fecha de comienzo y restas la fecha que estás a esa fecha de comienzo, y el resultado lo divides por 7 y luego redondeas al entero superior el resultado, estarás numerando semanas desde el día del comienzo.
Un ejemplo:
si quitas al día de hoy, viernes, 31 de diciembre, desde el jueves 30 de diciembre, te sale 1, que dividido por 7, da un número decimal que redondeado al entero superior da 1, es decir, pertenece a la semana 1, comenzando desde el 30 de diciembre de 2010. Si te fijas ese resultado no cambiará hasta 8 días después, en que el resultado será 2, y así sucesivamente.
  #12 (permalink)  
Antiguo 31/12/2010, 11:59
 
Fecha de Ingreso: julio-2005
Mensajes: 66
Antigüedad: 18 años, 9 meses
Puntos: 1
Respuesta: Fechas

Ooo fuerte y claro muchas gracia jurena por la explicación ire a probar ya te cuento :)


Saludos

Etiquetas: fechas
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:51.