Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.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 解析从数据库中检索为字符串的二维数组_Javascript_Php_Mysql_Arrays - Fatal编程技术网

Javascript 解析从数据库中检索为字符串的二维数组

Javascript 解析从数据库中检索为字符串的二维数组,javascript,php,mysql,arrays,Javascript,Php,Mysql,Arrays,我正在构建一个从表的单元格中检索的数据数组。生成的数组如下所示: [["","","",""],["","9/2/14","","9/17/14"],["","","89ol",""],["","687k","","9-0["p/"],["","245g","245g","356h"],["","","",""],["","","4j6","467j"],["","","9/9/14",""]] 我将数据保存到MySQL数据库中,作为一个字段中的字符串。我现在需要检索该数据并遍历它以重新填充表

我正在构建一个从表的单元格中检索的数据数组。生成的数组如下所示:

[["","","",""],["","9/2/14","","9/17/14"],["","","89ol",""],["","687k","","9-0["p/"],["","245g","245g","356h"],["","","",""],["","","4j6","467j"],["","","9/9/14",""]]
我将数据保存到MySQL数据库中,作为一个字段中的字符串。我现在需要检索该数据并遍历它以重新填充表

我将以上述格式的字符串形式将数据发送到$.ajax函数

如何获取单个单元格数据以正确填充单元格

更新: 下面是我用来检索数据的php代码:

$queryGetUserTaskNotes = "SELECT userProgressNotes FROM userProgress WHERE userProgressUserID = $userID AND userProgressSiteID = $siteID and userProgressNotesTable = '" . $taskTableID . "'";
$resultGetUserTaskNotes = @mysqli_query($dbc,$queryGetUserTaskNotes);
if ($resultGetUserTaskNotes) {
    $taskNotes = mysqli_fetch_assoc($resultGetUserTaskNotes);
    echo $taskNotes['userProgressNotes'];
}
下面是我如何从php脚本中获取数据

function GetTaskNotes(siteID,tableID) {
$.ajax({
            url: 'script.php',
    data: {getTaskNotes:'true', userID:userID, siteID:siteID, tableID:tableID},
    success: function(data) {
        console.log('GetTaskNotes data: ' + data);
    }
});
}
至于到目前为止我所尝试的,我一直在研究如何在success函数中解析js端的字符串。parse(数据)不起作用,坦率地说,我不知道还有什么可以尝试


谢谢

我想这里的步骤是:

在PHP中,提供一个URL,JS可以对该URL执行GET操作,从而返回数据。结构和外观的方式在某种程度上取决于您使用的框架(如果有的话)。确保使用内置的PHP JSON编码方法以JSON形式返回该数据

在JS中,执行如下操作:

$.ajax({
  url: 'your url here',
  type: 'GET',
  success: function(data) { console.log(data); }
});
在success函数中,我假设您将处理对对象的迭代并将其插入DOM。为此,我将研究jQuery的$.each()方法。当谈到“正确填充单元格”时,在JSFIDLE或其他文件中查看HTML和JS会很有帮助

祝你好运

参考资料:

除非您在性能/逻辑方面有非常特殊的需求,否则我认为最好使用名称/值对的散列(也称为对象),其中散列中的名称对应于数据库中的实际字段。话虽如此,为了便于讨论,让我们假设数组由.push()调用填充,在这种情况下,简单的嵌套for循环应该可以工作:

'use strict';
var array = JSON.parse(string);
var cell, row, i, j;
var table = document.createElement('table');
for (i=0; i < array.length; ++i) {
    row = document.createElement('tr');
    for (j=0; j < array[i].length; ++j) {
        cell = document.createElement('td');
        cell.innerHTML = array[i][j];
        row.appendChild(cell);
    }
    table.appendChild(row);
}
document.appendChild(table);
“严格使用”;
var array=JSON.parse(字符串);
var单元,行,i,j;
var table=document.createElement('table');
对于(i=0;i

其中
string
是重新填充时从数据库返回的字符串

请与我们分享您的尝试。如果否决票是因为缺乏信息,我已经更新了帖子,解释了更多关于我是如何做的以及我在做什么。我没有DV,只是请您分享您的尝试。抱歉-不是专门针对您,@jayblanchard此数据似乎是json,您可能可以通过
数据[0][0]
直接访问内容……我之前尝试过JSON.parse,但出于某些疯狂的原因,它对我不起作用。我在我的帖子中使用字符串数组在测试页面上运行了您的代码,它工作正常(document.appendChild(table)行出错,但我知道现在可以访问数据了)。谢谢