如何表示复杂和混合数据

时间:2011-08-12 15:49:31

标签: php javascript database-design data-representation

我有一个非常复杂的问题。

我正在寻找一个可以处理任何数据(数组,mysql查询......)的javascript或PHP脚本,并制作一个表/数据透视表/图表。

简单来说,我想要一个能够接收任何数据的应用程序并按我们的要求代表它。

例如,获取用户评分的内容。

我希望能够制作出评分为1,2,3,4或5的人数的图表。 我想制作一张表格,其中包含7月和8月评分的用户数量。 我想获得评分最高的内容。 我希望得到投票最多的用户。

我知道我可以对这些图表进行编码,但我想制作任何用户都可以使用的东西。并做出自己的陈述。

那里有类似的东西吗?

如果不是在php / javascript中,可能在另一个平台上使用另一种语言?

提前致谢

3 个答案:

答案 0 :(得分:1)

我不认为可以自动解释任何数据格式,而无需明确定义应如何解释该格式。如果您传递CSV格式怎么办?您的应用程序将如何知道CSV数据的含义?怎么知道列用逗号分隔?怎么知道列是什么意思?如果你传入JSON怎么办?它将如何解释该数据?如何处理它与CSV数据不同?您需要明确定义解释您感兴趣的格式的方法。您可以使用现有的解析器。

解释后,您可以将解释后的数据存储在关系结构中。这将允许您查询单一类型的数据源以从多种不同格式获取数据。例如,如果要以表格形式表示任何数据,可以定义关系结构,例如:

Table
-----
id (PK)
name


Column
-------
id (PK)
table (FK to Table's id)
title


Row
---
id (PK)
table (FK to Table's id)


DataPoint
---------
id (PK)
row (FK to Row's id)
column (FK to Column’s id)
value

使用此结构,您可以表示任何数据表。虽然这可能是一个相当可怕的设计。但是为了您的目标,它可以满足您的要求。这是关于这种设计的可能异议的article。如果你可以在6NF中沿着这些线实现某些东西,那就太棒了。

您可以对此进行扩展以应对数据透视表和图表。

我不知道为你做任何事情。

答案 1 :(得分:0)

我不知道开箱即用的任何事情,但至少你的一些工作已经完成了:

例如,您可以构建一个简单的PHP函数,将给定的输入转储为HTML表。然后,使用该HTML表,部署一些jQuery插件来对表(DataTables)进行排序,并从表格数据(graphTable)创建图表。

显然,您希望系统越健壮,所需的前期工作就越多。

答案 2 :(得分:0)

您可以考虑将ExtJSdesign tool结合使用。如果您可以将数据作为JSON对象提供,那么您应该能够非常轻松地创建一个应用程序,以便用户可以按照自己认为合适的方式操作数据。

请参阅ExtJS chart demos