1

我正在运行一个带有自定义 python 软件的服务器,该软件从基于 linux 的设备收集和存储数据。数据存储在 mysql 上,包含序列号、访问时间戳、用户平均年龄等信息。

我想做的是部署一个 Web 应用程序,它可以显示 mysql 中收集的数据集的统计信息。

例子

序列号

BBB45600
BBB56444
BBB23411
HHH00332
HHH45677

60% s/n is BBB class
40% s/n is HHH class

最好像piwik一样通过 Web 界面显示这些统计信息,但从 mysql db 收集数据。我正在寻找像沙发这样的东西,它提供对数据分析的网络访问。

有没有这样的事情你知道吗?我不是专业的程序员,所以我可能会选择不需要太多编码/接口来让它工作的东西。云中的某些东西可能是完美的,但基于服务器的软件也可以正常工作。

如果有好的解决方案,愿意学习!

4

1 回答 1

0

我对 piwik 和沙发都不熟悉,在查看了他们的网站后,我无法真正确定它们如何立即适用于您所陈述的理想结果。为了获得快速简便的解决方案,我将在 PHP 中创建一个脚本,用于查询 python 使用的现有数据库,并将输出写入显示器。PHP 相对容易设置,如果你在服务器上使用 Linux,你会发现无数的教程可以做到这一点。

至于脚本本身;它看起来有两个部分 - 您希望它首先列出所有序列号,然后输出现有集合的前 3 个字母前缀组构成的百分比。我不确定您打算如何包含您的集合中的其他数据,但您可以调整以下内容以适应。

<?php
$con=mysqli_connect("yourServerUrl","username","password","databaseName");

// Check connection
if (mysqli_connect_errno($con))
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
else
{
    // Do Queries and output here

    /* Part 1, output Serial Numbers - note this will output all serial numbers, 
       which might not be desirable */

    // Get the serial numbers
    $result = mysqli_query($con,"SELECT serialNumberColumnName FROM SerialNumberTable");

    // count results, you need this later for the data/stat portion
    $totalResults = mysqli_num_rows($result);

    // Output Serial Numbers
    while($row = mysqli_fetch_array($result))
    {
        echo $row['serialNumberColumnName'];
        echo '<br />';
    }

    /* Part 2, output Serial Number prefix percentages - repeat this for each 'class' */

    // Do the Query
    $result = mysqli_query($con,"SELECT serialNumberColumnName FROM SerialNumberTable WHERE serialNumberColumnName like 'HHH%'");
    $resultQty = mysqli_num_rows($result);

    // Output Figure
    $percentage = ($resultQty / $totalResults) * 100;
    echo "$percentage s/n is HHH class. <br />";

}

// Close Connection to database
mysqli_close($con);
?>

有更优雅和更有效的方法可以做到这一点,但正如你提到的你不是程序员,我只使用 w3Schools 的教程将整个事情拼凑在一起。

http://www.w3schools.com/php/default.asp

如果您遇到问题,请查看 w3schools 上的相关教程,了解该部分的工作原理,并将这些知识应用于故障排除/扩展您的解决方案。PHP 是一种很好的简单学习语言,而且思考起来很快。请注意,我没有测试上面的代码,因为我没有当前的 PHP 安装。

我希望这会有所帮助,

于 2013-11-06T21:28:12.167 回答