El tiempo es oro

Jose A. Pedroche

UI/UX Designer

Abr 2012
Abr 11, 2012

Dice el refrán que «El tiempo es oro», y que cierto es. El tiempo es el camino sobre el que discurre la vida, y es un camino limitado y desconocido para cada uno (sino, te invito a que veas la película IN TIME, y ya me cuentas).

Bajo esta perspectiva, en muchos proyectos, el cliente solicita funciones que agilicen los resultados de sus consultas, en las aplicaciones que desarrollamos para ellos. Es decir, conseguir la información con el mínimo tiempo posible invertido.
Para eso, voy a compartir unas funciones que trabaja precisamente con eso, con el tiempo. Se trata de las funciones DAY, MONTH y YEAR de PHP.

Es habitual querer ver ciertos resultados de el último mes, el último año, etc. de una manera rápida y sencilla, sin tener que estar seleccionando en un calendario un día de inicio, y otro final, que significa estar pinchando en un listado el día, el mes, etc. «Quiero ver de manera rápida cuánto hemos facturado en el último mes», por ejemplo.

Lo primero que debemos conocer es la fecha actual. Eso es bien sencillo con la función date() de PHP.
Guardamos en 2 variables estos valores, de esta manera:

$present_month = date(«m»);
$present_year = date(«Y»);

Ahora, con estos valores ya almacenados, podemos incluir en nuestra sentencia SQL:

SELECT * FROM nombre_tabla WHERE Month(campo_fecha) = $present_month AND Year(campo_fecha) = $present_year

Lo único de lo que tenemos que asegurarnos es que el campo_fecha, sea un timestamp. De esta manera, lo que le estamos diciendo a la BBDD es que nos muestre los registros cuyo mes y año del campo campo_fecha coincidan con el mes y año en el que estamos actualmente.

¿Y si queremos que nos muestre justo los datos del mes anterior al nuestro, o los datos del mismo mes, pero el año anterior?, pues es tan sencillo como añadir un -1 a las variables declaradas anteriormente:
$present_month = date(«m»)-1;
o
$present_year = date(«Y»)-1;

También podemos hacer que ese mes o año sea una variable, enviada por GET o POST, de manera que podemos dejar total libertad al cliente para elegir el mes o el año del que quiere hacer la consulta:
$present_month = $_GET[‘month’];
$present_year = $_GET[‘year’];

Pero para esto, necesitaríamos hacer un formulario, con un campo que indique el mes y otro que indique el año, y tener que enviar estos datos para poder recogerlos luego, y hemos dicho que esto era para ahorrar tiempo, ¿no? 🙂

También te puede interesar

Desafíos y Tendencias para los Diseñadores Gráficos en 2024

Desafíos y Tendencias para los Diseñadores Gráficos en 2024

El mundo del diseño gráfico está en constante evolución, impulsado por innovaciones tecnológicas y cambios en las preferencias de los consumidores. Este año, los diseñadores gráficos enfrentarán tanto nuevos desafíos como oportunidades. En Iberpixel, estamos en el...

En busca del flechazo web

En busca del flechazo web

En un mundo donde la primera impresión es a menudo digital, un sitio web actúa como la carta de presentación de una marca, empresa o individuo. Un sitio obsoleto o mal funcionamiento no solo puede disuadir a los visitantes sino también afectar negativamente la...

¿Qué hace falta para ser Developer? Soft & Hard Skills

¿Qué hace falta para ser Developer? Soft & Hard Skills

Para convertirse en un desarrollador exitoso, es esencial una combinación de habilidades técnicas y personales. Este campo desafiante y en constante evolución no solo requiere un entendimiento profundo de las herramientas y tecnologías, sino también la capacidad de...