Tema: Fechas
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/12/2010, 15:12
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
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.