0

jquerycatcompleteのjsonが必要です。私を助けてほしいです...

私はこのコードを持っています

$( ".autocomplete" ).autocomplete({
     source: "files/news.php?listar=json"
});

そして、「files / news.php?listar=json」に次のようなものを表示させたいと思います。

[ 
  { label: "title1", category: "category1" },
  { label: "title2", category: "category2" } 
]

手伝っていただけませんか?

@編集:

私はこれを試しましたが、うまくいきませんでした:

if ($_GET['listar'] == 'json')
{
    echo '['."\n";  
    $query = mysql_query("SELECT * FROM noticias WHERE deletada='0' ORDER BY id DESC");
    $a = 0;
    while ($noticia = mysql_fetch_array($query))
    {
        echo ' { label: "'.$noticia['titulo'].'", category: "'.ucwords(Categoria($noticia['categoria'])).'" }';
        $a++;

        if ($a < mysql_num_rows($query))
        {
            echo ",\n";
        }
    }
    echo "\n".']';

    exit;
}
4

2 に答える 2

3

質問は少し紛らわしいです。PHPでJSONを期待しています。PHPでは、ビルドイン関数json_encodeを使用して、任意の配列をJSONに変換し、応答として返すことができます。

あなたのタグは、JSでそれが必要であることを示唆しています。JSでは、json2.jsを試してください

于 2012-10-14T22:14:59.343 に答える
2

http://php.net/manual/en/function.json-encode.phpですでに機能しているため、独自のjsonを作成する必要はありませんjson encode()

if ($_GET['listar'] == 'json')
{
    $query = mysql_query("SELECT * FROM noticias WHERE deletada='0' ORDER BY id DESC");
    while ($noticia = mysql_fetch_array($query))
    {
    $results[] = array(
        'label' => $noticia['titulo'],
        'category' => $noticia['categoria']
    );
    }
}

$json = json_encode($results);
header('Content-type: application/json');
echo $json;
exit;
于 2012-10-14T22:19:15.817 に答える