2011-06-10 163 views
1

我有一個javascript應用程序,它將跟蹤x'& y座標的'畫布上的幾個對象。我打算在二維陣列中存儲這些數據,例如:如何在mysql數據庫中存儲多維javascript數組

new Array(
    new Array(id0, x0, y0), 
    new Array(id1, x1, y1), 
    new Array(id2, x2, y2)); 

我想這個數據提交到一個PHP腳本,並將其存儲在MySQL數據庫中,供以後檢索/重新顯示。什麼是這樣做的好方法?我應該序列化數組並對其進行編碼以進行傳輸嗎?我正在使用jQuery,所以如果有人知道這個框架中包含的任何好功能都會很棒。謝謝!

+2

JSON來拯救! – Wiseguy 2011-06-10 13:54:43

回答

2

將您的數組序列化爲可存儲格式(通常是字符串),將其發送到將其存儲到數據庫的服務器。

您可能使用JSON,XML或任何其他格式。我會選擇JSON,因爲它不那麼冗長,然後在數據庫中使用更少的空間。

但請注意,序列化數組阻止使用數據庫引擎進行任何查詢。您必須提取數據,將其反序列化,檢查它是否是您需要的數據,然後沖洗並重復,直到找到合適的陣列(除非您知道要查找的陣列的ID)

注意:不要忘記使用POST請求將其發送到服務器,因爲GET請求具有長度限制。

2

最好的主意似乎是JSON

只需encode your array in JSON,發送到服務器。如果你不需要在服務器端操作數據,你甚至可以將JSON本身保存到MySQL中。否則,所有廣泛傳播的服務器端語言都具有JSON處理功能(json_decode()和PHP中的朋友)。

在返回的路線上(從服務器到Javascript),JSON再次是最簡單的方法。你可以使用jQuery的getJSON()parseJSON()函數來處理它,並獲得你的數組。

相關問題