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

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

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

Punto de venta con PHP, jQuery y Bootstrap - Gratuito y open source

Hoy traigo al blog otro punto de venta gratuito y open source, pero este es especial pues fue el primer programa que hice y que fue usado por varias personas. El punto de venta que presento es un POS web, totalmente open source y gratuito, además de simple y bonito. Está hecho con PHP y JavaScript con jQuery (era el año 2016), usa MySQL/MariaDB como motor de base de datos y Bootstrap para los estilos, con varios temas. Como ya dije anteriormente, este fue mi primer punto de venta oficial que comencé como por el 2015 (apenas iniciaba la universidad, qué tiempos) y luego terminé en el 2016. Aunque parezca antiguo sigue funcionando como un encanto incluso con PHP 8. En este post te mostraré los módulos del sistema y cómo puedes descargarlo e instalarlo en tu computadora o en tu hosting compartido. El programa es totalmente responsivo y permite la impresión de tickets de manera local. ...

mayo 6, 2022 · 6 min · 1184 palabras · Parzibyte

Importar base de datos de MariaDB o MySQL

Ya te mostré cómo respaldar una base de datos de 2 maneras. Ahora te enseñaré a importar ese archivo, o mejor dicho, aplicar ese respaldo. Veremos cómo hacerlo con phpmyadmin y con la línea de comandos. ...

abril 29, 2022 · 2 min · 332 palabras · Parzibyte