Mysql
 sql >> Database >  >> RDS >> Mysql

Qualche buon framework di reporting compatibile con MySQL PHP là fuori?

Puoi provare KoolReport .

Disclaimer:sto lavorando a questo progetto.

È un framework di reporting php, esattamente quello che cerchi. È possibile scaricare il framework tramite il sito Web, clonare progetto da github oppure usa il compositore per installare:composer require koolphp/koolreport .

Dopo l'installazione, ecco un esempio di base di creazione di un rapporto di vendita

index.php :questo è un file bootstrap

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

SaleByCustomer.php :questo file definisce la connessione dati e il processo dati

<?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 :Questo è il file di visualizzazione in cui è possibile visualizzare i dati

<?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"
    )
));
?>

Ed ecco il risultato .

Fondamentalmente puoi ottenere dati da molte origini dati contemporaneamente, convogliarli attraverso i processi, quindi archiviare i risultati nell'archivio dati. I dati nell'archivio dati saranno quindi disponibili nella vista per ottenere la visualizzazione. I Google Charts è integrato all'interno del framework in modo da poterlo utilizzare subito per creare bellissimi grafici e grafici.

Bene, ecco alcuni buoni link:

  1. KoolReport esempi avanzati :Vedi altri buoni esempi
  2. Documento - Fonti dati :Supporta MySQL, Oracle, SQLServer, MongoDB, CSV, Microsoft Excel ..
  3. Doc - Elaborazione dati :Analisi e trasformazione dei dati
  4. Doc - Visualizzazione dati :visualizza i tuoi dati con grafici, tabelle e altro.
  5. Progetto su Github .

Spero di esserti stato d'aiuto.