我的代码还有其他问题。
<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
复活节快乐! :)))
答案 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']);