2012-04-28 14 views
1

jsonの文字列を扱うためのjqueryタグを取得しようとしています。 はCurrenttly私はこのようなデータベースからの私の値を取得しています:AJAXで呼ばれる次のような出力できますPHP JSONの出力でmysql with tag-it

$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); 
    } 

[{"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']; 

あなたはまた、常にこれがないオブジェクト

+0

[これは私に正しい出力が得られますが、タグは、それがオートコンプリート での提案として、すべてのcharachterを与えることができます "別々の『タグ』などのテスト... 編集:!用事データ型を忘れてしまいました: "json"、 – kendepelchin

+0

それは今働いていますか?あなたは他の問題がありますか? – Baba

+0

はい、素晴らしい、ありがとう。 – kendepelchin

2

として配列として返す

json_encode($row_set,true); 

配列に返しJSONを作るためにtrueにseoundパラメータを設定していることを確認してみ配列に配列を追加する代わりに文字列を矢印に追加することでそれを修正する必要があります。

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