Mysql
 sql >> база данни >  >> RDS >> Mysql

Има ли добри рамки за отчитане, съвместими с PHP MySQL?

Можете да опитате KoolReport .

Отказ от отговорност:Работя по този проект.

Това е php рамка за отчитане, точно това, което търсите. Можете да изтеглите рамка през уебсайта, да клонирате проект от github или използвайте composer за инсталиране:composer require koolphp/koolreport .

След инсталирането ето основен пример за създаване на отчет за продажба

index.php :Това е начален файл

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

SaleByCustomer.php :Този файл дефинира връзка за данни и обработка на данни

<?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 :Това е файлът за преглед, където можете да визуализирате данни

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

И ето резултатът .

По принцип можете да получите данни от много източници на данни едновременно, да ги прекарате през процеси, след което да съхраните резултата в хранилището на данни. След това данните в хранилището на данни ще бъдат достъпни в изгледа, за да получите визуализация. Google Charts е интегриран в рамките, така че можете да го използвате веднага за създаване на красиви диаграми и графики.

Добре, ето няколко добри връзки:

  1. KoolReport Advanced examples :Вижте още няколко добри примера
  2. Документ - Източници на данни :Поддържа MySQL, Oracle, SQLServer, MongoDB, CSV, Microsoft Excel ..
  3. Документ - Обработка на данни :Анализиране и трансформиране на данни
  4. Документ - Визуализация на данни :визуализирайте данните си с диаграми, таблици и други.
  5. Проект в Github .

Надявам се, че това помага.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Алгоритъм за генериране на произволно число

  2. Динамично зареждане на ajax съдържание във fancybox от MySQL база данни

  3. Java2MySQL> Отказ на комуникационната връзка отново поради основно изключение

  4. Трябва да се дефинира името на параметъра на заявката в Sql

  5. Производителност на MYSQL IN