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 的一部分。我的想法是在 sql 的 IN() 语句中插入某些值,例如“1,3”。这样做将从查询中减去 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