这是我从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']]
} );
参考方案
首先,您需要更改此行:
"ajax": "../ajax/data/objects.txt", //here
指向将运行sql查询以提取数据的实际文件:即像这样:
"ajax": {"url": "path/to/phpfile.php", "type": "POST"}
您需要像这样使您的while
循环:
$data = array();
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'];
$data['data'][] = array($ItmId, $ItmName, $ItmType,....etc);
}
echo json_encode($data);
您应该注意,您需要在实际表(html)中的确切列数。
另外,您的json应该如下所示:
data:
array(
ItmId,
ItmName,
..etc
),
array(
ItmId,
ItmName,
..etc
),
本质上有一个行数组。
jQuery Ajax加载仅适用于单个单词变量 - php在我的PHP文件中,我将一些变量从输入框传递到链接中,该链接通过jQuery的ajax load函数在其URL中使用该变量加载页面。整个系统运行良好,但仅适用于单字变量。每当涉及到空格时,我的Ajax通话都会中断。我假设这是一个编码问题,但是我也有一些疑问。基本上,它归结为我的PHP文件中的这一行代码,这导致了混乱。是否有可能找出格式是否正确,或者为什么在多…
jQuery-找不到Ajax网址 - php好的,我敢肯定这确实很容易,而且我很愚蠢,但是似乎并不能深入了解它。我试图从我的js文件“ custom.js”中对“ helpers.php”中的某些代码进行简单的AJAX调用。但是,我仍然收到404错误,因为我似乎并没有正确遍历文件夹,尽管我确信我正在...我的文件夹结构如下:html index.php js/ custom.js includes h…
jQuery ajax无法正常工作 - php我制作了一个测试jQuery ajax脚本,并在提交时将其附加到表单上,但是尽管我在函数末尾添加了return false,但页面在提交时仍保持刷新状态,并且也没有得到任何响应。表单如下所示:<form id="LogInForm" onsubmit="return LogIn();"> <input…
jQuery Ajax PHP重定向到另一个页面 - phpJavaScript文件:$.ajax({ type: "POST", url: "ajax.php", data: dataString, success: function(r) { $("#div").html(r); } }); 我想在成功的情况下将页面重定向到new.php,所以在我使用a…
jQuery ajax()返回json对象,但未正确警告 - php为什么无法使用data [0] .id返回ID? $(document).ready(function(){ $.ajax({ type: 'POST', dataType: "json", url: '<?php echo matry::base_to('tests/map_it'…