使用PHP数组生成数组Javascript

使用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"]=>

我有一个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"]=>  
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: