Puede probar el KoolReport .
Descargo de responsabilidad:estoy trabajando en este proyecto.
Es un marco de informes php, exactamente lo que busca. Puede descargar el marco a través del sitio web, clonar proyecto de github
o use composer para instalar:composer require koolphp/koolreport
.
Después de la instalación, este es un ejemplo básico de cómo crear un informe de ventas
index.php
:Este es un archivo de arranque
<?php
require_once "SalesByCustomer.php";
$salesByCustomer = new SalesByCustomer;
$salesByCustomer->run()->render();
SaleByCustomer.php
:Este archivo define la conexión de datos y el proceso de datos
<?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
:Este es el archivo de vista donde puede visualizar los datos
<?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"
)
));
?>
Y aquí está el resultado .
Básicamente, puede obtener datos de muchas fuentes de datos al mismo tiempo, canalizarlos a través de procesos y luego almacenar el resultado en el almacén de datos. Los datos en el almacén de datos estarán disponibles en la vista para obtener visualización. Los Google Charts está integrado dentro del marco para que pueda usarlo de inmediato para crear hermosos cuadros y gráficos.
Muy bien, aquí hay algunos buenos enlaces:
- Ejemplos avanzados de KoolReport :Vea algunos buenos ejemplos más
- Doc - Fuentes de datos :Admite MySQL, Oracle, SQLServer, MongoDB, CSV, Microsoft Excel ..
- Doc - Procesamiento de datos :Análisis y transformación de datos
- Doc - Visualización de datos :visualice sus datos con gráficos, tablas y más.
- Proyecto en Github .
Espero que ayude.