Я хочу использовать pivottable.js для моих данных, которые я извлек из SQL Server с помощью php.
Примеры(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],
...
]
На странице вы можете запросить PHP через $ .ajax, а затем использовать pivottable.js с результатом. $ ajax удобен для показа «ожидающего» gif и скрытия его в поиске «success».
$.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"]
});
});
Других решений пока нет …