sql >> Databáze >  >> RDS >> Mysql

Existují nějaké dobré reportovací rámce kompatibilní s PHP MySQL?

Můžete vyzkoušet KoolReport .

Prohlášení:Pracuji na tomto projektu.

Je to php reportovací rámec, přesně to, co hledáte. Framework si můžete stáhnout z webu, klonovat projekt z github nebo k instalaci použijte skladatel:composer require koolphp/koolreport .

Po instalaci je zde základní příklad vytvoření sestavy prodeje

index.php :Toto je soubor bootstrap

<?php
require_once "SalesByCustomer.php";
$salesByCustomer = new SalesByCustomer;
$salesByCustomer->run()->render();                  

SaleByCustomer.php :Tento soubor definuje datové připojení a zpracování dat

<?php

require_once "koolreport/autoload.php";
use \koolreport\processes\Group;
use \koolreport\processes\Limit;
use \koolreport\processes\Sort;


class SalesByCustomer extends \koolreport\KoolReport
{
    public function settings()
    {
        return array(
            "dataSources"=>array(
                "sales"=>array(
                    "connectionString"=>"mysql:host=localhost;dbname=db_sales",
                    "username"=>"root",
                    "password"=>"",
                    "charset"=>"utf8"
                )
            )
        );
    }

    public function setup()
    {
        $this->src('sales')
        ->query("SELECT customerName,dollar_sales FROM customer_product_dollarsales")
        ->pipe(new Group(array(
            "by"=>"customerName",
            "sum"=>"dollar_sales"
        )))
        ->pipe(new Sort(array(
            "dollar_sales"=>"desc"
        )))
        ->pipe(new Limit(array(10)))
        ->pipe($this->dataStore('sales_by_customer'));
    }
}

SalesByCustomer.view.php :Toto je soubor zobrazení, ve kterém můžete vizualizovat data

<?php 
    use \koolreport\widgets\koolphp\Table;
    use \koolreport\widgets\google\BarChart;
?>

<div class="text-center">
    <h1>Sales Report</h1>
    <h4>This report shows top 10 sales by customer</h4>
</div>
<hr/>

<?php
    BarChart::create(array(
        "dataStore"=>$this->dataStore('sales_by_customer'),
        "width"=>"100%",
        "height"=>"500px",
        "columns"=>array(
            "customerName"=>array(
                "label"=>"Customer"
            ),
            "dollar_sales"=>array(
                "type"=>"number",
                "label"=>"Amount",
                "prefix"=>"$",
            )
        ),
        "options"=>array(
            "title"=>"Sales By Customer"
        )
    ));
?>
<?php
Table::create(array(
    "dataStore"=>$this->dataStore('sales_by_customer'),
        "columns"=>array(
            "customerName"=>array(
                "label"=>"Customer"
            ),
            "dollar_sales"=>array(
                "type"=>"number",
                "label"=>"Amount",
                "prefix"=>"$",
            )
        ),
    "cssClass"=>array(
        "table"=>"table table-hover table-bordered"
    )
));
?>

A zde je výsledek .

V zásadě můžete získat data z mnoha zdrojů dat současně, propojit je procesy a výsledek uložit do úložiště dat. Data v datovém úložišti pak budou k dispozici v pohledu pro získání vizualizace. Google Charts je integrován uvnitř rámce, takže jej můžete ihned používat k vytváření krásných tabulek a grafů.

Dobře, tady jsou dobré odkazy:

  1. Pokročilé příklady KoolReport :Podívejte se na několik dalších dobrých příkladů
  2. Dok – zdroje dat :Podpora MySQL, Oracle, SQLServer, MongoDB, CSV, Microsoft Excel ..
  3. Dokument – ​​Zpracování dat :Analýza a transformace dat
  4. Doc – Vizualizace dat :vizualizujte svá data pomocí grafů, tabulek a dalších.
  5. Projekt na Github .

Doufám, že to pomůže.



  1. hierarchie mysql se sama spojí, načte všechny podkategorie

  2. Integrace ADF s EBS

  3. Aktualizujte režim SQL v MySQL

  4. Výpis importu vývojáře PL/SQL