使用PHP数组生成数组Javascript
我有一个ajax脚本,它会返回一个关联数组列表,如下所示:使用PHP数组生成数组Javascript,javascript,php,arrays,ajax,Javascript,Php,Arrays,Ajax,我有一个ajax脚本,它会返回一个关联数组列表,如下所示: array(24) { ["id"]=> string(4) "3478" ["joindate"]=> string(19) "2016-10-17 21:20:28" ["ip"]=> string(12) "xxx.xxx.xx.xx" ... } array(24) { ["id"]=> string(4) "3479" ["joindate"]=>
array(24) {
["id"]=>
string(4) "3478"
["joindate"]=>
string(19) "2016-10-17 21:20:28"
["ip"]=>
string(12) "xxx.xxx.xx.xx"
...
}
array(24) {
["id"]=>
string(4) "3479"
["joindate"]=>
string(19) "2016-10-17 21:20:28"
["ip"]=>
string(12) "xxx.xxx.xx.xx"
...
}
HTML
如何获取创建表头的键,然后仅获取填充它的值
目前,我使用一个简单的PHP var_转储将数据传输到Javascript,也许有一个更干净的方法
非常感谢var_dump是用于调试目的的。如果您想将数据传输到另一种脚本/语言,您更愿意使用json 所以你会做一些类似的事情(未经测试):
var myJavascriptVariable=;
在脚本/网站的顶部。在这之后,您就有了JS变量myJavascriptVariable
,它保存您的数据
您可能还想看看jquery的“DataTables”之类的插件(请参阅)。它们处理表的创建并提供排序和筛选等附加功能。var\u dump用于调试目的。如果您想将数据传输到另一种脚本/语言,您更愿意使用json 所以你会做一些类似的事情(未经测试):
var myJavascriptVariable=;
在脚本/网站的顶部。在这之后,您就有了JS变量myJavascriptVariable
,它保存您的数据
您可能还想看看jquery的“DataTables”之类的插件(请参阅)。它们处理表的创建并提供排序和过滤等附加功能。您可以对php返回的结果进行json_编码,如下所示:
echo json_encode($data);
之后,您可以在javascript中对其进行解析并对其进行迭代:
var html = '<table>';
$.each(data, function(i, item) {
var head = '';
var row = '<tr>';
if($i === 0) {
head += '<thead><tr>'
}
$.each(item, function(key, value) {
head += '<th><b><u>'+key+'</u></b></th>';
row += '<td>'+value+'</td>';
});
if($i === 0) {
head += '</tr></thead>'
}
row += '</tr>';
html += head+row;
});
html += '</table>';
var html='';
$。每个(数据、功能(i、项){
风险值头=“”;
var行=“”;
如果($i==0){
头部+=''
}
$。每个(项目、功能(键、值){
头+=''键+'';
行+=''+值+'';
});
如果($i==0){
头部+=''
}
行+='';
html+=标题+行;
});
html+='';
并将html变量附加到html元素。您可以对php返回的结果进行json\u编码,如下所示:
echo json_encode($data);
之后,您可以在javascript中对其进行解析并对其进行迭代:
var html = '<table>';
$.each(data, function(i, item) {
var head = '';
var row = '<tr>';
if($i === 0) {
head += '<thead><tr>'
}
$.each(item, function(key, value) {
head += '<th><b><u>'+key+'</u></b></th>';
row += '<td>'+value+'</td>';
});
if($i === 0) {
head += '</tr></thead>'
}
row += '</tr>';
html += head+row;
});
html += '</table>';
var html='';
$。每个(数据、功能(i、项){
风险值头=“”;
var行=“”;
如果($i==0){
头部+=''
}
$。每个(项目、功能(键、值){
头+=''键+'';
行+=''+值+'';
});
如果($i==0){
头部+=''
}
行+='';
html+=标题+行;
});
html+='';
并将html变量附加到html元素。因此,首先更改PHP代码,以发送回JSON响应,而不是var_转储
<?php
$all = array();
while ($row = mysql_fetch_array($req, MYSQLI_ASSOC)){
$all[] = $row;
}
echo json_encode($all);
所以首先更改PHP代码,以发送JSON响应,而不是var\u转储
<?php
$all = array();
while ($row = mysql_fetch_array($req, MYSQLI_ASSOC)){
$all[] = $row;
}
echo json_encode($all);
将数组转换为json\u编码并将数据传递给javascript,我用我的想法复制你的想法:
<html>
<head>
<script src='../assets/jquery/jquery-latest.js' type='text/javascript'></script>
</head>
<?php
$data_ = array(
array(
"id" => "3478",
"joindate" => "2016-10-17 21:20:28",
"ip" => "xxx.xxx.xx.xx"
),
array(
"id" => "3479",
"joindate" => "2016-10-17 21:20:28",
"ip" => "xxx.xxx.xx.xx"
)
);
$json_data = json_encode($data_);
?>
<script type="text/javascript">
$(document).ready(function(){
var data_ = <?php echo $json_data; ?>;
var html = '<table border="1">';
html += '<thead>';
html += '<tr>';
html += '<th>ID</th>';
html += '<th>JOINDATE</th>';
html += '<th>IP</th>';
html += '</tr>';
html += '<thead>';
html += '<tbody>';
for(var i = 0; i < data_.length; i++) {
html += '<tr>';
html += '<td>' + data_[i].id + '</td>';
html += '<td>' + data_[i].joindate + '</td>';
html += '<td>' + data_[i].ip + '</td>';
html += '</tr>';
}
html += '</tbody>';
$("#div_data").html(html);
});
</script>
<body>
<div id="div_data"></div>
</body>
$(文档).ready(函数(){
var数据_uz=;
var html='';
html+='';
html+='';
html+='ID';
html+='JOINDATE';
html+=‘IP’;
html+='';
html+='';
html+='';
对于(变量i=0;i<数据长度;i++){
html+='';
html+=''+数据[i].id+'';
html+=''+数据[i]。joindate+'';
html+=''+数据[i].ip+'';
html+='';
}
html+='';
$(“#div_data”).html(html);
});
请忍受我的html标签XD。希望能有所帮助。将数组转换为json\u编码并将数据传递到javascript,我用我的想法复制你的想法:
<html>
<head>
<script src='../assets/jquery/jquery-latest.js' type='text/javascript'></script>
</head>
<?php
$data_ = array(
array(
"id" => "3478",
"joindate" => "2016-10-17 21:20:28",
"ip" => "xxx.xxx.xx.xx"
),
array(
"id" => "3479",
"joindate" => "2016-10-17 21:20:28",
"ip" => "xxx.xxx.xx.xx"
)
);
$json_data = json_encode($data_);
?>
<script type="text/javascript">
$(document).ready(function(){
var data_ = <?php echo $json_data; ?>;
var html = '<table border="1">';
html += '<thead>';
html += '<tr>';
html += '<th>ID</th>';
html += '<th>JOINDATE</th>';
html += '<th>IP</th>';
html += '</tr>';
html += '<thead>';
html += '<tbody>';
for(var i = 0; i < data_.length; i++) {
html += '<tr>';
html += '<td>' + data_[i].id + '</td>';
html += '<td>' + data_[i].joindate + '</td>';
html += '<td>' + data_[i].ip + '</td>';
html += '</tr>';
}
html += '</tbody>';
$("#div_data").html(html);
});
</script>
<body>
<div id="div_data"></div>
</body>
$(文档).ready(函数(){
var数据_uz=;
var html='';
html+='';
html+='';
html+='ID';
html+='JOINDATE';
html+=‘IP’;
html+='';
html+='';
html+='';
对于(变量i=0;i<数据长度;i++){
html+='';
html+=''+数据[i].id+'';
html+=''+数据[i]。joindate+'';
html+=''+数据[i].ip+'';
html+='';
}
html+='';
$(“#div_data”).html(html);
});
请忍受我的html标签XD。希望有帮助。是的<代码>json_编码($array)
将JSONString传递给javascript,javascript将自动或使用JSON.parse()
转换为javascript对象/数组,但是您将AJAX添加到了标记中,所以您已经知道了这一点,对吗?告诉我们您如何进行AJAX调用,即您的javascriptI编辑问题;)您应该将代码添加到问题中,而不是将其作为注释发布。是<代码>json_编码($array)
将JSONString传递给javascript,javascript将自动或使用JSON.parse()
转换为javascript对象/数组,但是您将AJAX添加到了标记中,所以您已经知道了这一点,对吗?告诉我们您如何进行AJAX调用,即您的javascriptI编辑问题;)你应该将代码添加到你的问题中,而不是将其作为评论发布。这不是一种非常优雅的方式,但你的意思是什么?除了通过ajax请求加载数据(在php端返回JSON…所以最后也是一样)之外,我认为这是唯一的方法。这不是一种非常优雅的方法,但你的意思是什么?除了通过ajax请求加载数据(在php端返回JSON…所以最后也是一样)之外,我还有一个错误:SyntaxError: