sql >> Database >  >> RDS >> Mysql

Zijn er goede PHP MySQL-compatibele rapportagekaders?

U kunt de KoolReport proberen .

Disclaimer:ik werk aan dit project.

Het is een php-rapportageraamwerk, precies wat u zoekt. U kunt het framework downloaden via de website, kloon project van github of gebruik componist om te installeren:composer require koolphp/koolreport .

Na de installatie is hier een eenvoudig voorbeeld van het maken van een verkooprapport

index.php :Dit is een bootstrap-bestand

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

SaleByCustomer.php :Dit bestand definieert de gegevensverbinding en het gegevensproces

<?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 :Dit is het weergavebestand waarin u gegevens kunt visualiseren

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

En hier is het resultaat .

In principe kunt u gegevens uit veel gegevensbronnen tegelijkertijd halen, ze door processen leiden en vervolgens het opgeslagen resultaat in de gegevensopslag plaatsen. De gegevens in de gegevensopslag zijn dan beschikbaar in de weergave om visualisatie te krijgen. De Google Charts is geïntegreerd in een raamwerk, zodat u het meteen kunt gebruiken om prachtige grafieken en diagrammen te maken.

Oké, hier zijn enkele goede links:

  1. KoolReport geavanceerde voorbeelden :Zie nog meer goede voorbeelden
  2. Doc - Gegevensbronnen :Ondersteuning MySQL, Oracle, SQLServer, MongoDB, CSV, Microsoft Excel ..
  3. Doc - Gegevensverwerking :Gegevensanalyse en -transformatie
  4. Doc - Gegevensvisualisatie :visualiseer uw gegevens met grafieken, tabellen en meer.
  5. Project op Github .

Ik hoop dat dat helpt.



  1. Hoe kan ik een indexhint specificeren in Entity Framework?

  2. MySQL-fout:je hebt een fout in je SQL-syntaxis; controleer de handleiding die overeenkomt met uw MySQL-serverversie voor de juiste syntaxis om te gebruiken in de buurt van

  3. Lijst van alle indexen in een SQLite-database

  4. STEL NOCOUNT IN OP gebruik