2014-09-22 46 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