Mysql
 sql >> Base de données >  >> RDS >> Mysql

Existe-t-il de bons frameworks de reporting compatibles avec PHP MySQL ?

Vous pouvez essayer le KoolReport .

Avis de non-responsabilité :je travaille sur ce projet.

C'est un framework de reporting php, exactement ce que vous recherchez. Vous pouvez télécharger le framework via le site Web, cloner projet depuis github ou utilisez composer pour installer :composer require koolphp/koolreport .

Après l'installation, voici un exemple basique de création d'un rapport de vente

index.php :Ceci est un fichier d'amorçage

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

SaleByCustomer.php  :Ce fichier définit la connexion aux données et le traitement des données

<?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 :Ceci est le fichier de vue où vous pouvez visualiser les données

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

Et voici le résultat .

Fondamentalement, vous pouvez obtenir des données à partir de nombreuses sources de données en même temps, les diriger à travers des processus, puis stocker les résultats dans le magasin de données. Les données du magasin de données seront alors disponibles dans la vue pour obtenir une visualisation. Les Google Charts est intégré à l'intérieur du cadre afin que vous puissiez l'utiliser immédiatement pour créer de beaux tableaux et graphiques.

D'accord, voici quelques bons liens :

  1. Exemples avancés KoolReport  :Voir d'autres bons exemples
  2. Doc - Sources de données :Prise en charge de MySQL, Oracle, SQLServer, MongoDB, CSV, Microsoft Excel ..
  3. Doc - Traitement des données  : Analyse et transformation des données
  4. Doc - Visualisation des données  :visualisez vos données avec des graphiques, des tableaux et bien plus encore.
  5. Projet sur Github .

J'espère que ça aide.