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

时间:2014-09-22 17:54:24

标签: javascript php mysql arrays

我正在构建一个从表格单元格中检索的数据数组。结果数组看起来像这样:

[["","","",""],["","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);
    }
});
}

至于我到目前为止所尝试的内容,我一直在研究如何在成功函数中解析js端的字符串。 JSON.parse(数据)没有工作,坦率地说,我不知道还有什么可以尝试。

谢谢!

2 个答案:

答案 0 :(得分:2)

除非你在性能/逻辑方面有非常特殊的需求,否则我会说最好使用名称/值对(也就是对象)的散列,其中散列中的名称对应于数据库中的实际字段。话虽如此,我们可以说,为了论证,数组是由.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);

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

答案 1 :(得分:-1)

我认为这里的步骤将是:

在PHP中,提供一个JS可以执行GET的URL来返回数据。结构化和外观的方式在某种程度上取决于您正在使用的框架(如果有的话)。请务必使用内置的PHP JSON编码方法将该数据作为JSON返回。

在JS中,像这样做一个GET:

$.ajax({
  url: 'your url here',
  type: 'GET',
  success: function(data) { console.log(data); }
});

在您的成功函数中,我假设您将处理迭代对象并将其插入DOM。我会看一下jQuery的$ .each()方法。当谈到“正确填充单元格”时,在jsFiddle或其他东西中查看HTML和JS会很有帮助。

祝你好运!

参考文献: http://api.jquery.com/jQuery.ajax/ http://api.jquery.com/jquery.each/