Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Irgendwelche guten PHP-MySQL-kompatiblen Reporting-Frameworks da draußen?

Sie können den KoolReport ausprobieren .

Haftungsausschluss:Ich arbeite an diesem Projekt.

Es ist ein PHP-Berichtsframework, genau das, wonach Sie suchen. Sie können Framework über die Website herunterladen, Projekt von GitHub klonen oder verwenden Sie zum Installieren Composer:composer require koolphp/koolreport .

Nach der Installation ist hier ein einfaches Beispiel für die Erstellung eines Verkaufsberichts

index.php :Dies ist eine Bootstrap-Datei

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

SaleByCustomer.php :Diese Datei definiert die Datenverbindung und den Datenprozess

<?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 :Dies ist die Ansichtsdatei, in der Sie Daten visualisieren können

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

Und hier ist das Ergebnis .

Grundsätzlich können Sie Daten aus vielen Datenquellen gleichzeitig abrufen, sie durch Prozesse leiten und dann das gespeicherte Ergebnis im Datenspeicher speichern. Die Daten im Datenspeicher sind dann in der Ansicht verfügbar, um eine Visualisierung zu erhalten. Die Google Charts ist in das Framework integriert, sodass Sie es sofort verwenden können, um schöne Diagramme und Grafiken zu erstellen.

In Ordnung, hier sind einige gute Links:

  1. KoolReport erweiterte Beispiele :Siehe weitere gute Beispiele
  2. Doc – Datenquellen :Unterstützt MySQL, Oracle, SQLServer, MongoDB, CSV, Microsoft Excel ..
  3. Doc – Datenverarbeitung :Datenanalyse und Transformation
  4. Doc – Datenvisualisierung :Visualisieren Sie Ihre Daten mit Diagrammen, Tabellen und mehr.
  5. Projekt auf Github .

Hoffe das hilft.