sql >> Databasteknik >  >> RDS >> Mysql

Finns det några bra PHP MySQL-kompatibla rapporteringsramverk där ute?

Du kan prova KoolReport .

Ansvarsfriskrivning:Jag arbetar med det här projektet.

Det är ett php-rapporteringsramverk, precis vad du letar efter. Du kan ladda ner ramverket via webbplatsen, klona projekt från github eller använd composer för att installera:composer require koolphp/koolreport .

Efter installationen är här ett grundläggande exempel på hur du skapar en försäljningsrapport

index.php :Det här är en bootstrap-fil

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

SaleByCustomer.php :Den här filen definierar dataanslutning och dataprocess

<?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 :Detta är vyfilen där du kan visualisera 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"
    )
));
?>

Och här är resultatet .

I grund och botten kan du hämta data från många datakällor samtidigt, leda dem genom processer och sedan lagra resultatet i datalagret. Datan i datalagret kommer då att vara tillgänglig i vyn för att få visualisering. Google Charts är integrerad i ramverket så att du kan använda direkt för att skapa vackra diagram och grafer.

Okej, här är några bra länkar:

  1. KoolReport Advanced Exempel :Se några fler bra exempel
  2. Dokument - Datakällor :Stöd MySQL, Oracle, SQLServer, MongoDB, CSV, Microsoft Excel ..
  3. Dokument - Databehandling :Dataanalys och transformation
  4. Dok - Datavisualisering :få din data att visualisera med diagram, tabeller och mer.
  5. Projekt på Github .

Hoppas det hjälper.



  1. Oracles OUTER JOIN (+) på sträng - Migration PostgreSQL

  2. Hämtar alla objektbehörigheter för specifik roll

  3. Hur man installerar MySQL 8 på Ubuntu

  4. Använder variabel för att definiera sökväg i XMLTable i Oracle