首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有好的PHP和MySQL兼容的报告框架?

有没有好的PHP和MySQL兼容的报告框架?
EN

Stack Overflow用户
提问于 2011-03-25 17:58:41
回答 6查看 16.1K关注 0票数 5

我正在寻找一个基于网络的报告框架,这是基于PHP和MySQL的工作。

这就是我的问题(除了懒得自己编程之外):我有一个很大的(50k+行)表,它存储多个客户机的日志数据。这些客户需要能够排序和搜索,并做所有这些重要的事情。

我真的想要一个背后有足够的能力的东西,这就是为什么我对自己构建一个东西感到担忧。这不是一个足够大的需求,值得投入过多的时间,但对于我的客户来说,这是一个必要的功能。

理想情况下,我想要一种框架,它可以传递数据,也可以通过模板引擎获取数据本身(所以它将完成所有的表示)。我可以获得呈现的演示文稿,并将其放入我的站点中。

这么好的东西可能并不存在,但也许我会走运。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-03-26 07:40:10

我已经找到了一个非常适合我需求的合适的替代品:一个名为laiguExtGridPlugin的Symfony插件。它不是一个框架,但它使用JSON调用来获取数据,并通过排序和分页显示数据。我还没有真正实现它,今晚我将通读一下源代码,看看如何实现它--关于这个插件的文档很少,想一想吧。一旦我实现了它,我就会在我的博客上发布一些东西。

更新: laiguExtGridPlugin已经实现,但它位于名为ext的Javascript库之上。这个库非常庞大,超过27兆。这是针对整个库的。我使用的部分大约是100KB。我也使用jQuery,所以加载这两个库(谢天谢地,它只用于一个页面)是非常不可接受的。我将切换到基于jQuery的网格系统。

我还发现了一个来自Trirand的名为jqGrid的商业许可jQuery插件。这有点超出了我的价格范围,599美元的单座许可证,包括订阅、来源和优先支持,或者450美元的许可证。然而,它看起来确实很不错,让我想起了更新的Msoft Office UI。

目前,前者将做得很好;但是,我将四处寻找一个框架。我可能会自己做一个。

票数 1
EN

Stack Overflow用户

发布于 2017-05-18 17:25:00

你可以试试KoolReport

免责声明:我正在做这个项目。

它是一个php报告框架,正是你想要的。您可以通过网站下载框架,克隆project from github或使用composer安装:composer require koolphp/koolreport

安装后,下面是创建销售报告的基本示例

index.php:这是引导程序文件

代码语言:javascript
复制
<?php
require_once "SalesByCustomer.php";
$salesByCustomer = new SalesByCustomer;
$salesByCustomer->run()->render();                  

SaleByCustomer.php:此文件定义数据连接和数据处理

代码语言:javascript
复制
<?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:这是一个视图文件,您可以在其中可视化数据

代码语言:javascript
复制
<?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"
    )
));
?>

这是the result

基本上,你可以同时从多个数据源获取数据,然后通过进程将结果存储到数据存储中。然后,数据存储中的数据将在视图中可用,以获得可视化。Google Charts集成在框架中,因此您可以立即使用来创建漂亮的图表和图形。

好的,这里有一些很好的链接:

  1. KoolReport Advanced Examples:了解更多优秀的examples
  2. Doc - Data Sources:支持MySQL、Oracle、SQLServer、MongoDB、CSV、Microsoft Excel ..
  3. Doc - Data Processing:数据分析和transformation
  4. Doc - Data Visualization:使用图表、表格和more.
  5. Project on Github.

可视化您的数据

希望这能有所帮助。

票数 5
EN

Stack Overflow用户

发布于 2011-03-25 18:03:16

PHPRunner - PHP code generator

也有this,但我不知道你是否希望它是免费的。

还有this cross platform reporting tool (不是用PHP编写的)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5430929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档