0

Mostrar Gráficas Dinámicas en PHP con Chart.js y MySQL

Comparte

📊 Introducción

Chart.js es una librería JavaScript poderosa y liviana para mostrar gráficas interactivas. En este tutorial te enseñaré cómo integrarla con PHP para mostrar gráficas dinámicas alimentadas desde MySQL. Ideal para sistemas de ventas, reportes, o cualquier visualización de datos.


🛠️ Requisitos:

  • PHP 7+
  • MySQL (con datos)
  • Conocimientos básicos de HTML y JS
  • Servidor local (XAMPP, WAMP) o hosting con soporte PHP

🗃️ 1. Base de Datos MySQL

Supongamos que tenemos una tabla de ventas como esta:

CREATE TABLE ventas (
    id INT AUTO_INCREMENT PRIMARY KEY,
    producto VARCHAR(50),
    cantidad INT
);

INSERT INTO ventas (producto, cantidad) VALUES
('Producto A', 120),
('Producto B', 90),
('Producto C', 150),
('Producto D', 80);

🔌 2. Conexión PHP a la Base de Datos

// conexion.php
$conexion = new mysqli("localhost", "root", "", "mi_base_datos");
if ($conexion->connect_error) {
    die("Conexión fallida: " . $conexion->connect_error);
}

📤 3. Consultar datos y convertirlos en JSON

// datos.php
include("conexion.php");

$sql = "SELECT producto, cantidad FROM ventas";
$resultado = $conexion->query($sql);

$data = [];

while ($fila = $resultado->fetch_assoc()) {
    $data[] = $fila;
}

echo json_encode($data);

📈 4. Mostrar gráfica con Chart.js

<!DOCTYPE html>
<html>
<head>
    <title>Gráfica de Ventas</title>
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
</head>
<body>
    <h2>Gráfica de Ventas por Producto</h2>
    <canvas id="grafico"></canvas>

    <script>
        fetch('datos.php')
        .then(response => response.json())
        .then(data => {
            const productos = data.map(d => d.producto);
            const cantidades = data.map(d => d.cantidad);

            new Chart(document.getElementById("grafico"), {
                type: 'bar',
                data: {
                    labels: productos,
                    datasets: [{
                        label: 'Cantidad vendida',
                        data: cantidades,
                        backgroundColor: 'rgba(54, 162, 235, 0.6)'
                    }]
                },
                options: {
                    responsive: true,
                    scales: {
                        y: {
                            beginAtZero: true
                        }
                    }
                }
            });
        });
    </script>
</body>
</html>

📌 Conclusión

Con solo unos pocos archivos y líneas de código, puedes mostrar gráficas interactivas en tu proyecto PHP. Puedes adaptar este ejemplo para estadísticas de usuarios, ingresos, stock, y mucho más.





codigo fuente gratis

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *