MySQL - Guardar combinación de días de la semana

En este post te voy a enseñar a guardar solo algunos días de la semana elegidos por algún usuario usando MySQL usando un número entero, de modo que el usuario puede elegir todos los días de la semana, ninguno de ellos, solo sábado y domingo, solo lunes, solo el martes o cualquier combinación de días. Vamos a usar un número entero y máscaras de bits para almacenar los días de la semana elegidos por el usuario, además de enseñarte a hacer consultas SQL para saber si cierto día de la semana se encuentra en los días que el usuario ha elegido. Gracias a las máscaras de bits podemos almacenar una combinación de días de la semana con MySQL. Al final, MySQL solo guardará un entero cuyo valor máximo será 127. ...

agosto 15, 2024 · 6 min · 1087 palabras · Parzibyte

Semiverseno en MySQL - Haversine

En este post te voy a mostrar una fórmula de MySQL para calcular la distancia entre dos coordenadas GPS (latitud y longitud) en metros, de modo que podrás calcular la cantidad de metros que existen entre 2 puntos geográficos al hacer consultas SQL. Debido a que vamos a definir la fórmula como una función de MySQL vas a poder usarla al hacer cualquier operación como SELECT o INSERT. Vamos a usar la fórmula de Haversine también llamada semiverseno, misma que permite conocer la distancia de círculo máximo entre dos puntos de un globo sabiendo su longitud y su latitud. ...

julio 9, 2024 · 2 min · 411 palabras · Parzibyte

Consulta de MySQL a CSV y Excel con PHP

En este post de programación con PHP y MySQL vamos a ver cómo exportar los resultados de una consulta SQL como CSV (valores separados por coma) y como archivo Excel, además de mostrarlos como HTML. A partir de las filas que sean devueltas por una consulta vamos a crear un archivo CSV y un archivo de Excel. ...

junio 25, 2024 · 7 min · 1475 palabras · Parzibyte

Total vendido agrupado por mes - SQL y reportes con gráficas

En este post vamos a ver cómo calcular el total vendido en un período de fechas agrupado por mes, ya sea para mostrar un reporte o una gráfica de barras o líneas. Básicamente veremos el algoritmo y ejemplos de código para sacar el desglose del total vendido por mes en el año o en cualquier período de tiempo, tomando los datos de una base de datos, agrupando, ordenando, sumando, etcétera. No importa cuál motor de base de datos utilices ni el lenguaje de programación. Veremos el algoritmo para sumar el total vendido por mes. ...

febrero 14, 2023 · 6 min · 1088 palabras · Parzibyte

Telegram y MySQL: conexión usando bot

En este post vamos a ver cómo realizar la conexión de Telegram con MySQL a través de un bot, de modo que podamos guardar y consultar datos de una base de datos de MySQL desde Telegram. Con lo que veremos vamos a poder insertar datos en una tabla de MySQL desde Telegram y cualquier chat (siempre y cuando nuestro bot pueda leer los mensajes). También vamos a ver cómo guardar el nombre del usuario y la fecha de envío del mensaje. Será un CRUD (sin Update) básico pero puedes partir del mismo para hacer cosas más específicas. ...

diciembre 5, 2022 · 5 min · 990 palabras · Parzibyte

Ejecutar proyecto de Laravel en Android con Termux

En el post de hoy veremos cómo “programar” en Laravel desde Android, o dicho técnicamente, ejecutar un proyecto de Laravel (que usa PHP) dentro de un servidor Apache con PHP todo dentro de Termux corriendo sobre un dispositivo Android. Las herramientas que necesitamos ya existen en Termux, y son php, mysql, composer y apache. Además, no es obligatorio programar en el móvil (aunque sí posible); podemos simplemente montar un proyecto de Laravel en Android. ...

octubre 6, 2022 · 3 min · 485 palabras · Parzibyte

Exportar base de datos de MySQL con Laravel

En este corto post de programación con PHP, Laravel y MySQL vamos a ver cómo exportar una base de datos de MariaDB completa desde un controlador de Laravel. Vamos a usar la herramienta mysqldump atrapando su salida en un archivo y luego vamos a servirlo al cliente para finalmente eliminarlo, es decir, usaremos mysqldump para volcar la base de datos a un archivo SQL temporal. Nota: si quieres también puedes ver el script que usa PHP puro y adaptarlo a Laravel: https://parzibyte.me/blog/posts/script-respaldar-base-de-datos-mysql-php/ ...

octubre 6, 2022 · 3 min · 451 palabras · Parzibyte

SQL: obtener varias filas de subconsulta en una sola, simulando JSON para agrupar

Hace tiempo te mostré cómo “encapsular” varias filas de datos en una sola fila usando JSON con PostgreSQL y las funciones que de JSON que este motor ofrece. Hoy te enseñaré a obtener varias filas “comprimidas” dentro de una fila simulando un JSON concatenando los resultados, por lo que será compatible con varios motores de bases de datos. En pocas palabras ingresaremos un arreglo de filas en una fila, agrupando varias filas en una sola, o mejor dicho, colocar resultados de una subconsulta como JSON. ...

agosto 31, 2022 · 3 min · 596 palabras · Parzibyte

Guardar fechas en bases de datos: tipo de dato

En el post de hoy vamos a hablar sobre el almacenamiento de fechas y horas en las bases de datos y cómo trabajar con ellas al usarlas en nuestros sistemas. Te diré algunos consejos desde mi experiencia para que puedas guardar y recuperar timestamps a cualquier base de datos y en cualquier lenguaje de programación. ...

agosto 18, 2022 · 4 min · 685 palabras · Parzibyte

Ticket de venta y cantidad modificable en punto de venta con PHP y MySQL

Hace tiempo publiqué en este mismo blog un sistema de ventas open source con PHP, MySQL y Bootstrap. En los últimos días le he agregado algunas características y hago este post para informar sobre las actualizaciones a ese sistema de ventas. Específicamente hablando he agregado un campo para modificar la cantidad al vender usando el teclado. Por otro lado ahora se puede imprimir un ticket o recibo de venta. ...

agosto 4, 2022 · 2 min · 279 palabras · Parzibyte