1

tag-it jquery プラグインを json 文字列で動作させようとしています。現在、次のようにデータベースから値を取得しています。

$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"]

どうすればこれを達成できますか?

4

2 に答える 2

3

使用する場合は、row_set[] = $row;おそらく$row次のようになります。これ$row['tag'] = 'test が、JSON オブジェクト形式を使用している理由です。

試す

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

常に配列を返すtrueようにseoundパラメータも設定してくださいJSON

   json_encode($row_set,true);

これは、オブジェクトとしてではなく配列としてそれを返します

于 2012-04-28T11:22:18.260 に答える
2

配列に配列を追加する代わりに、矢印に文字列を追加することで、それを修正する必要があります。

$row_set[] = $row[0]; or $row_set[] = $row['tag'];
于 2012-04-28T11:23:58.020 に答える