【发布时间】:2015-04-03 22:58:55
【问题描述】:
这里有一个简单的问题,但对数据表很陌生,所以请原谅我的无知:我有一个查询行,我将其放在一个数组中,然后以 JSON 格式对其进行编码,如何将此数组发送到数据表以填充每一行?我查看了其他线程,但他们使用 ajax 从外部引用脚本,而我的位于同一页面上(不确定这是否有所不同)。我的脚本如下所示:
<?php
if(isset($_POST['post_id'])){
$in = $_POST['post_id'];
}
$data = array();
foreach ($in as $id){
$query = $link->prepare("SELECT provider_num, provider_name, 233_net_charity_care, 291_cost_of_non_mcr_bad_debts, 301_cost_of_uncomp_care
FROM `s10`
WHERE `id` = :id");
$query->bindParam(':id', $id, PDO::PARAM_INT);
$query->execute();
$results = $query->fetch(PDO::FETCH_ASSOC);
$data[] = $results;
}
json_encode($data);
?>
其中 post_id 是从前一个表单提交到页面的初始 id 值数组,为简单起见,假设我这次只提交了一行。
JSON 输出如下所示
[{"provider_num":"140124","provider_name":"JOHN H. STROGER JR. HOSP OF COOK CTY","233_net_charity_care":"163307737","291_cost_of_non_mcr_bad_debts":"181677291","301_cost_of_uncomp_care":"344985028"}]
然后我以什么方式初始化数据表来接收这些数据
到目前为止我有:
$(document).ready(function() {
$('#example').dataTable( {
"ajax": "", <== What goes here?
"columns": [
{ "data": "provider_num" },
{ "data": "provider_name" },
{ "data": "233_net_charity_care" },
{ "data": "291_cost_of_non_mcr_bad_debts" },
{ "data": "301_cost_of_uncomp_care" }
]
} );
} );
任何见解都会很棒,总的来说,我对 jquery 还是很陌生,所以如果这是一个简单的问题,我深表歉意。我试图阅读文档,但遇到了麻烦。
提前致谢
【问题讨论】:
-
json_encode(data)应该是echo json-encode(data)。 -
那么在这种情况下,只需将脚本设为外部,然后在数据表的 ajax 字段中引用它?目前它在同一页面上,我不希望它在该页面上回显
-
@Barmar,你的评论让我发笑。ajax:是数据表获取外部 JSON 数据的地方。
标签: javascript php jquery json datatable