0

我想对我使用 php 从 SQL Server 提取的数据使用 pivottable.js。示例(http://nicolas.kruchten.com/pivottable/examples/)适用于 JSON 和 CSV 文件。我与 html 页面的数据连接如下所示。如何在 pivottable.js 上直接使用这些数据?

$server = "SQLSERVER";
$connectionInfo=array("Database"=>"SQLDATABASE","CharacterSet" => "UTF-8");
$conn= sqlsrv_connect($server,$connectionInfo);

$sql ="SELECT Column1,Column2,Column3,Column4 from TABLE";
$stmt = sqlsrv_prepare( $conn, $sql, array(), array('Scrollable' =>'buffered'));
if( $stmt === false ) {
  die( print_r( sqlsrv_errors(), true));
 }
 sqlsrv_execute($stmt);
while($row = sqlsrv_fetch_array($stmt))
{
 echo "<li>" . $row["Column1"] . $row["Column2"] . "</li>";
}
 echo "<table border=1><tr><th>HEAD1</th><th>HEAD2</th><th>HEAD3</th><th>HEAD4</th></tr>";
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC)) 
{
    echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td>     <td>".number_format($row[3], 0, ',', '.')."</td></tr>";
}
echo "</table>";
sqlsrv_free_stmt( $stmt);  
sqlsrv_close( $conn);  
4

1 回答 1

0

您可以生成 JSON 数组。它应该看起来像

[
["HEAD1", "HEAD2", "HEAD3", "HEAD4"],
["va1", "val2", "val3", 123.45],
...
]

在页面上,您可以通过 $.ajax 查询 PHP,然后将结果使用 pivottable.js。$ajax 可以显示“等待”的 gif 并将其隐藏在“成功”函数中。

    $.ajax({
        type: 'post',
        url: 'https://path_to_your_php_script',
        data: {
            param1: "value1",
            param2: "value2",
            ...
        },
        success: function (response) {
            $("#output").pivotUI(eval(response), {
                    rows: ["HEAD1", "HEAD2"],
                    cols: ["HEAD3"],
                    vals: ["HEAD4"]
            });
        }   
    });

另一种方式

    $.getJSON("https://path_to_your_php_script", function(mps) {
        $("#output").pivotUI(mps, {
                    rows: ["HEAD1", "HEAD2"],
                    cols: ["HEAD3"],
                    vals: ["HEAD4"]
            });
    });
于 2016-07-05T16:58:21.737 回答