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

Cómo configurar un servidor de correo externo en Laravel

Cómo configurar un servidor de correo externo en Laravel

Configurar nuestra aplicación en Laravel para que pueda enviar emails es tarea sencilla, sin embargo, si va a ser usada simultáneamente por varios clientes y estos tienen un servidor de correo propio, es muy probable que quieran usar el suyo en vez del que nosotros...

El lado Oscuro está de moda

El lado Oscuro está de moda

Y no, no estamos hablando de la última tendencia de Star Wars, sino más bien de la interfaz favorita de la mayoría de usuarios de dispositivos móviles. Pero, ¿por qué nos gusta tanto el “modo oscuro”?

La importancia del testing en el desarrollo de aplicaciones

La importancia del testing en el desarrollo de aplicaciones

El testing es nuestra herramienta de feedback, nos permite detectar los errores en el proceso de desarrollo para poder solventarlos a tiempo. También podemos describirlo como el proceso de verificación y validación de una aplicación.