2014-09-22 44 views
-1

我正在构建从表格的单元格中检索的数据数组。结果数组看起来是这样的:解析从数据库中检索为字符串的二维数组

[["","","",""],["","9/2/14","","9/17/14"],["","","89ol",""],["","687k","","9-0["p/"],["","245g","245g","356h"],["","","",""],["","","4j6","467j"],["","","9/9/14",""]] 

我将数据保存到一个MySQL数据库作为一个字段的字符串。我现在需要检索这些数据并遍历它以重新填充表格。

我以上述格式将数据作为字符串获取到$ .ajax函数。

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

UPDATE: 这里是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(数据)没有工作,并坦率地说,我不知道还有什么要尝试。

谢谢!

+0

请与我们分享您的尝试。 – 2014-09-22 18:00:36

+0

如果因为缺乏信息而投下反对票,我已经更新了这篇文章来解释更多关于我如何和我正在做的事情。 – marky 2014-09-22 18:41:05

+0

我没有DV,只是要求你分享你的尝试。 – 2014-09-22 18:43:52

回答

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是您找回串当它的时间重新填充数据库。

+0

我早些时候试过JSON.parse,但由于一些疯狂的原因,它不适合我。我在测试页上使用字符串数组在我的文章中运行了你的代码,它运行良好(在document.appendChild(table)行有错误,但我知道我现在可以访问数据)。谢谢! – marky 2014-09-22 18:39:46

-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/

+0

为什么要投票? – ccnokes 2014-09-22 18:30:11