在Sql Server上使用pivottable.js和PHP查询

Using pivottable.js with PHP query on Sql Server

本文关键字:js PHP 查询 pivottable Sql Server      更新时间:2023-09-26

我想对我使用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);  

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

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

在页面上,您可以通过$.ajax查询PHP,然后使用pivottable.js查询结果$ajax可以方便地显示"等待"gif并将其隐藏在"成功"fintion中。

    $.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"]
            });
    });