0

select2プラグインを使用してmysqlからタグを設定しています。だから私はq変数をgetdada.phpに渡しますが、問題はそれです

  1. q変数がgetdata.phpに渡されていません。この変数を渡して、それに関連するデータを取得できるようにします(q変数を適切な場所に配置していない可能性があります)。

    2. q変数を使用しない場合は、最後または最初の変数のみが取得されます。すべての結果をタグデータとして入力します(おそらく、getdata.phpのjsoncode形式にエラーがあります)。

Plzヘルプ。

        $("#e8").select2({


        placeholder: "Search for another Concept",
        minimumInputLength: 1,
        multiple: true,
        ajax: { // instead of writing the function to execute the request we use Select2's convenient helper
            url: "getdata.php",
            dataType: 'json',
            data: function (term, page) {
                return {
                    q: term, // search term

                      page: page

                };

            },
            results: function (data, page) {
                return { results: data};

            }
        }
    });

これがgetdata.phpです

$sql=mysqli_query($db3,"SELECT * FROM o4_tags" );

while($row=mysqli_fetch_array($sql)){
    $tags=$row['tag_name'];
    $id=$row['id'];

        $myArray = array(
            array( "id" => "$id", "text" => "$tags" ),
        );


}

echo json_encode($myArray);
4

1 に答える 1

1

まず、PHPスクリプトに問題があるようです。現在、取得したすべての行に対して新しい$myArrayを作成しています。これらの配列の最後のものだけが実際にJSONとして出力されます。このコードはその問題を修正します:

$sql=mysqli_query($db3,"SELECT * FROM o4_tags" );
$myArray=array();

while($row=mysqli_fetch_array($sql)){
    $tags=$row['tag_name'];
    $id=$row['id'];

    $myArray[]=array( "id" => "$id", "text" => "$tags" );
}
echo json_encode($myArray);

I'm not sure why you don't see the search term in your PHP script, but then again, I don't see any code in PHP that actually deals with a search term. Have you tried dumping $_REQUEST?

于 2013-03-26T23:21:52.790 に答える