2013-11-27 32 views
0

我有這樣的數據在一個SQL表:從SQL拉一個表來創建JavaScript數組?

ID | Word | Count 
1  word1  10 
2  word2  5 

我想要求從JavaScript這個數據(或AJAX調用我猜?),並將它創建一個數組。我也不在乎ID#,但只是說這個詞,它是'數字'。那麼我想這將是一個2D數組來存儲這些信息?即,字[0] [0]將返回「字1」,字[0] [1]將返回10.也許有更好的方法來做最後一部分,但。然後我想通過計數來排序這些。

想法?

編輯: 這似乎好像我有數據通過PHP管道回JSON。但是,我是如何從JSON中獲取數據並將其轉換爲JS數組的呢?

$.getJSON('php_file.php', function(response) { 
    // response is a JSON object that contains all the info from de sql query 
    /* do your JS stuff here */ 
}) 

這是說響應是錯誤的,沒有更多。這是怎麼回事?

+0

在php中獲取數據並在JavaScript或PHP中處理它。 – Rayf

+0

[JSON編碼MySQL結果]的可能的重複(http://stackoverflow.com/questions/383631/json-encode-mysql-results) –

回答

1

的PHP文件應該是這樣的:
PHP_FILE.PHP

$sql = "SELECT * FROM table ORDER BY count [ASC|DESC]"; 
$result = execute_query($sql); 
while($array = mysql_fetch_assoc($result)); 
echo json_encode($array); 

而且,那麼你必須使AJAX調用(例如,使用JQuery)

$.getJSON('php_file.php', function(response) { 
    // response is a JSON object that contains all the info from de sql query 
    /* do your JS stuff here */ 
}) 
+0

感謝您的迴應,但是我收到此錯誤:調用未定義的函數第16行的/Volumes/grayMac/creations/web/NSAgame/_v2/grab.php中的execute_query() 任何想法? – prismspecs

+0

啊,好吧,沒關係,把它改成mysql_query,它就起作用了。所以現在想弄清楚如何使用JSON對象;-) – prismspecs

+0

我試過$ .each(result,function(i,field){ \t \t alert(field); \t});但它不會給我任何東西 – prismspecs

2

看看PHP的json_encodein the manual。它將允許您將PHP數組(您將從數據庫查詢中填充)轉換爲JSON對象,然後您將從Javascript輸出到Ajax調用。

過程:

  • JavaScript調用例如results.php
  • results.php調用數據庫,得到陣列
  • results.php使用json_encode上所述陣列,並輸出到瀏覽器(echo
  • 的Javascript收到很好的JSON陣列來使用。

有一個很好的例子在這裏: https://stackoverflow.com/a/383664/2812842