【发布时间】:2015-02-17 22:59:57
【问题描述】:
这是我从DataTables Child Rows得到的代码
$(document).ready(function() {
var table = $('#example').DataTable( {
"ajax": "../ajax/data/objects.txt", //here
"columns": [
{
"className": 'details-control',
"orderable": false,
"data": null,
"defaultContent": ''
}, //and here to fetch the data below
{ "data": "name" },
{ "data": "position" },
{ "data": "office" },
{ "data": "salary" }
],
"order": [[1, 'asc']]
} );
我想使用 ajax 从 SQL 查询中获取数据。这是我的 SQL 查询:
$tsql =
"SELECT *
FROM [dbo].[ITEM_MASTER] A
INNER JOIN
[dbo].[STOCK] B
ON
B.ItemId = A.ItemId
";
$result = sqlsrv_query($conn, $tsql, array(), array( "Scrollable" => SQLSRV_CURSOR_KEYSET ));
if (!$result) {
die("Query to show fields from table failed");
}
while($row=sqlsrv_fetch_array($result))
{
$ItmId = $row['ItemId'];
$ItmName = $row['ItemName'];
$ItmType = $row['ItemType'];
$ItmGroup = $row['ItemGroup'];
$ItmClass = $row['ItemClass'];
$ItmSerialNum = $row['ItemSerialNum'];
$ItmUOM = $row['ItemUOM'];
$StkQty = $row['StockQuantity'];
$StkId = $row['StockId'];
}
在 ajax 部分,我只需调用变量的名称,如 $ItmId 或我在 while 循环中所述的名称。
可能吗?如果是这样,怎么做?因为我对AJAX一无所知
更新
数据被推送到第二个参数并且没有显示ItmId?而且无论我是否更改$data : ItmName,它都只会根据数组显示并显示其他内容?
$(document).ready(function() {
var table = $('#table').DataTable( {
"ajax": {
"url": "table_data.php",
"type": "POST"
},
"columns": [
{
"class": 'details-control',
"orderable": false,
"data": null,
"defaultContent": ''
},
{ "$data": "ItmId" },
{ "$data": "ItmName" },
{ "$data": "ItmGroup"},
{ "$data": "ItmClass"}
],
"order": [[1, 'asc']]
} );
【问题讨论】:
-
您需要创建一个 json 对象并将数据添加到该 json 响应中的
data数组中。 -
@Darren 你能举个例子吗?
标签: php jquery sql-server ajax datatable