2012-04-28 21 views
1

我試圖讓標籤,它的jQuery插件使用JSON字符串。 Currenttly我很喜歡這讓我值從數據庫中:PHP的JSON輸出與MySQL的標記它

$query = sprintf(
      'SELECT 
       t.tag 
      FROM 
       tags AS t 
      '); 

    $row_set= array(); 

    if($result = mysqli_query($db, $query)) 
    { 
     // fetch data 
     while ($row = mysqli_fetch_assoc($result)) 
     { 
      $row_set[] = $row; 
     } 

     // set the output 
     echo json_encode($row_set); 
    } 

,其給出了AJAX調用時的輸出如下:

[{"tag":"test"},{"tag":"tests"}] 

但是,我必須輸出以下格式的JSON字符串:

["android-intent","animate","architecture","artificial-intelligence","attributes"] 

我該如何做到這一點?

回答

3

當您使用row_set[] = $row;最有可能$row看起來像這樣$row['tag'] = 'test這就是爲什麼你有JSON對象格式;

嘗試

$row_set[] = $row['tag']; 

確保您還設置seound參數true使JSON總是返回數組

json_encode($row_set,true); 

這將返回它作爲數組不作爲對象

+0

這給了我正確的輸出,但標籤 - 它給所有charachter作爲建議自動完成 它給[「test作爲單獨的‘標籤’...... 編輯:請不要介意忘了數據類型: 「json」, – kendepelchin 2012-04-28 11:28:08

+0

It it working now .. or you have other issues ??? – Baba 2012-04-28 11:33:03

+0

是的,效果很好,謝謝。 – kendepelchin 2012-04-28 11:36:20

2

這應該解決它,通過添加字符串到你的箭頭,而不是添加數組到你的數組。

$row_set[] = $row[0]; or $row_set[] = $row['tag'];