0

これは私のオートコンプリートコードです。$.post() 関数に配置した配列を受け取るには、PHP コードはどのようにすればよいですか?

var excludeArray = [];

$(".fb25").autocomplete({

    source: 'vacation_get25Football.php',

    focus: function(event, ui) {
        $(this).val(ui.item.label);
        return false;
    },

    select: function(event, ui) {

        var exclude;

        $(this).val(ui.item.label);
        exclude = $(this).next().val(ui.item.value).val();
        excludeArray.push(exclude);

       //  SENDING Exluded values to URL

        $.post('vacation_get25Football.php', {'array[]': excludeArray});

     //  alert looks like (for example) 1,4,5

        alert(excludeArray);
        return false;
    }
});

これはvacation_get25Football.php の一部です。私の考えは、'1,3' のような特定の値を SQL の IN() ステートメントに挿入することです。これを行うと、クエリから IN() に含まれるすべての値が減算されます。しかし、何らかの理由で、Jquery に投稿した配列を PHP で取得できません。私が知る限り、 $_POST['array']) が投稿されていないように見えます。何が悪いのかわかる方いますか?ありがとうございました。

if (($term = $_GET['term'])) {

if(($excludeArr = $_POST['array'])){
 $test = 2;
}else{
    /////////THIS IS THE ANSWER NO MATTER WHAT. 
    $test =1;
}

$objDB = mysqlDB();

$select_query = "SELECT team, ftball_id FROM tbl_football_top25 
WHERE team 
LIKE '%$term%'
AND NOT 
ftball_id IN( $test )
;";
$prop_info = $objDB->getRecords($select_query);

$data = array();

if ($prop_info != "No records") {

    FOREACH ($prop_info as $thisprop) {

        array_push($data, array('label' => $thisprop['team'], 'value' =>         $thisprop['ftball_id']));
    }
    echo(json_encode($data));
}

//close db
$objDB->close();
}
4

0 に答える 0