Autoselect和jQuery帖子不能一起工作

时间:2013-03-29 23:44:31

标签: php jquery html mysql post

我的代码还有其他问题。

    <script type="text/javascript">
        $("#wojewodz").change(function(){
        var id_wojewodztwa = $("#wojewodz").children(":selected").attr("id");
        $.post("miasta.php", { id_wojewodztwa: id_wojewodztwa } );
        $('#powiat_miasto_auto_complete').autocomplete({source:'miasta.php', minLength:2});
        });
    </script>

这是获取所选选择ID并将其传输到miasta.php的函数     

$options = array(
    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
); 

try {
  $conn = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass, $options);
}
catch(PDOException $e) {
    echo $e->getMessage();
}

$return_arr = array();

if (($conn) and (isset($_GET['id_wojewodztwa'])))
{
    $id_wojewodztwa = $_GET['id_wojewodztwa'];
    $ac_term = "%".$_GET['term']."%";
    $query = "SELECT DISTINCT nazwa FROM podzial_tm where woj='$id_wojewodztwa' and nazdod!='województwo' and nazwa like :term LIMIT 10";
    $result = $conn->prepare($query);
    $result->bindValue(":term",$ac_term);
    $result->execute();

    /* Retrieve and store in array the results of the query.*/
    while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
        $row_array['value'] = $row['nazwa'];

        array_push($return_arr,$row_array);
    }


}
/* Free connection resources. */
$conn = null; 
/* Toss back results as json encoded array. */
echo json_encode($return_arr);
?>
有人可以告诉我哪里有些错误? 当我将“where woj ='$ id_wojewodztwa'”更改为例如“where woj = '26'”并删除“和(isset($ _ GET ['id_wojewodztwa']))”一切都好,所以我觉得我有问题用POST

复活节快乐! :)))

3 个答案:

答案 0 :(得分:3)

您正在发布数据。您需要在$_POST['id_wojewodztwa']中查找您要查找的值,而不是$_GET

答案 1 :(得分:1)

$.post("miasta.php", { id_wojewodztwa: id_wojewodztwa } );

$.get("miasta.php", { id_wojewodztwa: id_wojewodztwa } );

或者如果你必须赶上结果,请使用:

$.get("miasta.php", { id_wojewodztwa: id_wojewodztwa },function(result){
       /** some code here */
},'json');

<强>更新

如果您使用$ .post,请修改以下行:

if (($conn) and (isset($_POST['id_wojewodztwa'])))
{
    $id_wojewodztwa = $_POST['id_wojewodztwa'];

答案 2 :(得分:0)

删除isset($_GET['id_wojewodztwa'])并修改$id_wojewodztwa = intval($_GET['id_wojewodztwa']);