Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将JSON数据写入HTML5表_Javascript_Php_Json_Html - Fatal编程技术网

Javascript 将JSON数据写入HTML5表

Javascript 将JSON数据写入HTML5表,javascript,php,json,html,Javascript,Php,Json,Html,我有以下代码片段: function getData(){ $.get('http://mywebsite.net/getFile.php', function(data) { var result = JSON.parse(data); } 返回以下JSON数据: Object {0: "11", 1: "MobileAppBackUp150715", 2: "rob@gmail.com", FileID: "11", FileName: "M

我有以下代码片段:

function getData(){
        $.get('http://mywebsite.net/getFile.php', function(data) {
        var result = JSON.parse(data);
        }
返回以下JSON数据:

Object {0: "11", 1: "MobileAppBackUp150715", 2: "rob@gmail.com", FileID: "11", FileName: "MobileAppBackUp150715", FileEmail: "rob@gmail.com"}
$result = mysql_query("SELECT FileID, FileName, FileEmail FROM tblfiles WHERE FileEmail = '".$email."'");

$row = mysql_fetch_array($result);

if($row['FileEmail'] == $email) {
    echo json_encode($row);    
}
我有两个问题:

首先,我的JSON数据不正确,应该返回多个对象。以下是我创建JSON数据的方式:

Object {0: "11", 1: "MobileAppBackUp150715", 2: "rob@gmail.com", FileID: "11", FileName: "MobileAppBackUp150715", FileEmail: "rob@gmail.com"}
$result = mysql_query("SELECT FileID, FileName, FileEmail FROM tblfiles WHERE FileEmail = '".$email."'");

$row = mysql_fetch_array($result);

if($row['FileEmail'] == $email) {
    echo json_encode($row);    
}
在表
tblfiles
中,我知道有两行数据是确定的

我的第二个问题是我不确定如何将JSON结果写入html表

编辑:更新:

使用以下php脚本,我成功地输出了我知道存在于表中的2行:

$result = mysql_query("SELECT FileID, FileName, FileEmail FROM tblfiles WHERE FileEmail = '".$email."'");

$row = array();

if(mysql_num_rows($result) > 0) {
    while($r = mysql_fetch_assoc($result)) {
        $id = $r["FileID"];
        $row[$id] = $r;
    }
}
echo json_encode($row);
这将产生以下结果:

{"11":{"FileID":"11","FileName":"MobileAppBackUp150715","FileEmail":"rob@gmail.com"},"14":{"FileID":"14","FileName":"MyFile","FileEmail":"rob@gmail.com"}}

现在我需要使用JS进入HTML页面中的一个表

我将使用jquery回答您的问题。您可以轻松地将jquery添加到项目中

var $row = "<tr><td>" + result[0] + "</td><td>" + result[1] + "</td></tr>";
var $table = $("table"); //selects your table
$table.append(row);
var$row=”“+结果[0]+“”+结果[1]+“”;
var$表=$(“表”)//选择您的表
$table.append(行);
这是一种方法。这很简单,但可能不是最好的。如果您需要填充大量基于json的html,我建议您研究一些插件,例如knockout.js


希望有帮助

或者,要在回调函数中的单个命令中完成所有操作,您可以

$('#target').html('<table>'+$.map(result,function(d){return '<tr><td>'+$.map(d,function(e){return e;}).join('</td><td>')+'</td></tr>'}).join('\n')+'</table>');

在上面接受的答案后面,我想与大家分享一下对我有用的代码

无需使用
JSON.parse()
,因为使用
getJSON()
函数已将JSON数据作为对象返回

 <script>
    $.getJSON('http://safe.net/getFile.php', function(json) {

        var tr;
        for(var i in json)
        {
            tr = $('<tr>');
            tr.append("<td>" + json[i].FileName + "</td>");
            tr.append("<td>" + json[i].FileID + "</td>");
            tr.append("<td>" + json[i].FileEmail + "</td>");
            $('table').append(tr);
            console.log(json[i].FileName);
        }

        //console.log(json);    

        });
</script>

$.getJSON('http://safe.net/getFile.php,函数(json){
var-tr;
for(json中的var i)
{
tr=$('');
tr.append(“+json[i].FileName+”);
tr.append(“+json[i].FileID+”);
tr.append(“+json[i].FileEmail+”);
$('table')。追加(tr);
log(json[i].FileName);
}
//log(json);
});

感谢上面cars10的帮助。

嘿,Nest,谢谢你的回答,但是现在我有了不止一个JSON对象(根据我上面的更新)。有什么想法吗?按照这个方法做两次。这是一个有效的解决方案,至少你们可以给我投票,作为有用的道歉。我真的忘了。你在哪里引用我的JSON数据来创建你的答案其实对不起我!我看到它
result
是回调函数中得到的对象。我从那里得到了一切…我觉得一切都很好。也请查看我的最新答案。它现在还包含一个工作代码段。把它写在我5岁的iPod上是相当辛苦的工作哈哈,我可以想象这会很难,好吧!我已经添加了您的代码段,但是没有显示任何结果。这是完整的html页面,好的,我会的。我会告诉你我的进展。谢谢