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

Nogen gode PHP MySQL-kompatible rapporteringsrammer derude?

Du kan prøve KoolReport .

Ansvarsfraskrivelse:Jeg arbejder på dette projekt.

Det er en php-rapporteringsramme, præcis hvad du leder efter. Du kan downloade framework gennem webstedet, klone projekt fra github eller brug composer til at installere:composer require koolphp/koolreport .

Efter installationen er her et grundlæggende eksempel på oprettelse af en salgsrapport

index.php :Dette er en bootstrap-fil

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

SaleByCustomer.php :Denne fil definerer dataforbindelse og dataproces

<?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 :Dette er visningsfilen, hvor du kan visualisere 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"
    )
));
?>

Og her er resultatet .

Dybest set kan du hente data fra mange datakilder på samme tid, lede dem gennem processer og derefter lagre resultatet i datalageret. Dataene i datalageret vil derefter være tilgængelige i visningen for at få visualisering. Google Charts er integreret i rammer, så du kan bruge med det samme til at skabe smukke diagrammer og grafer.

Okay, her er nogle gode links:

  1. KoolReport avancerede eksempler :Se nogle flere gode eksempler
  2. Dokument - Datakilder :Understøtter MySQL, Oracle, SQLServer, MongoDB, CSV, Microsoft Excel ..
  3. Dokument - Databehandling :Dataanalyse og transformation
  4. Dokument - Datavisualisering :få dine data visualiseret med diagrammer, tabeller og mere.
  5. Projekt på Github .

Håber det hjælper.



  1. Lær om MySQL Table Level Permissions

  2. Sådan importerer du STORE sql-filer til mysql-tabel

  3. Spørg efter skemadetaljerne for en tabel i PostgreSQL?

  4. Opdater resultaterne af en SELECT-sætning