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:
- KoolReport geavanceerde voorbeelden :Zie nog meer goede voorbeelden
- Doc - Gegevensbronnen :Ondersteuning MySQL, Oracle, SQLServer, MongoDB, CSV, Microsoft Excel ..
- Doc - Gegevensverwerking :Gegevensanalyse en -transformatie
- Doc - Gegevensvisualisatie :visualiseer uw gegevens met grafieken, tabellen en meer.
- Project op Github .
Ik hoop dat dat helpt.