如何通过使用javascript和php提供pin代码来自动填充城市名称



即使数据库连接成功,我也无法通过提供pincode来自动填充城市。以下是代码:引脚.php

<body>
<form>
<label >Pincode </label>
<input type="text" class="form-control"  placeholder="Enter Pin Code" name="pin_value" id="pin" maxlength="6"  pattern=".{6,6}" title="Exacty 6 digits"  onkeypress="return isNumberKey(event)"  onkeypress="set_city()" required="">
<label >City </label>
<input type="text" class="form-control"  placeholder="Enter City" name="city_value" id="city" onkeypress="return isCharacterKey(event)" >
<?php
include("configs.php"); 
$pin = $_POST['pin'];
$query = $conn->query("SELECT cityname FROM pincodes WHERE pincode = '$pin'");
while($row = $query->fetch_assoc()) {
?>
<option> <?php echo $row["cityname"];?></option>
<?php
}?>
</form>
<script>
function set_city(){
var pin = document.getElementById("pin").value;
$.ajax({
url: "load_pincode.php",
method: "post",
data: {pin: pin},
success: function(response){
if(response == ""){
alert("please enter pincode");
}
else{
$("#city").val(response);
}
}
});
}
</script>
</body>

load_pincode.php

<?php
@ob_start();
session_start();
include("configs.php");
$pin = $_POST['pin'];
if($_POST["pin"]) 
{
$uid = $_SESSION['user_id'];
$user_type = $_SESSION["user_type"];
if($user_type=="lite"){
$cur_uid = $uid;
$uid = $_SESSION["ad_id"];
}
$cur_bid = $_SESSION["default_business_id"];
$q = $conn->query("SELECT user_pin FROM business WHERE year = '$curr_year' AND user_id = '$uid' AND business_id = '$cur_bid'");
$c;
while($r=$q->fetch_assoc()){
$c = $r["user_pin"];
}
$qg = $conn->query("SELECT cityname FROM pincodes WHERE pincode = '$pin' ");
while($rg = $qg->fetch_assoc()) {
$p = $rg["cityname"];
} 
}else{
echo "prob";
}
?>

它既没有显示错误也没有输出。我被困在这个自动填充无法进一步移动。我如何才能知道它是否正在将pin的值传递给load_pincode.php?

我不会浏览您的全部代码,但首先,你会根据pincode获得城市名称的值,但不会返回,

$qg = $conn->query("SELECT cityname FROM pincodes WHERE pincode = '$pin' ");
while($rg = $qg->fetch_assoc()) {
$p = $rg["cityname"];
} 
echo json_encode($p); // here getting the city name 

您需要返回结果的json数组,并修改ajax脚本以显示城市。请参见下文。

load_pincode.php
<?php
@ob_start();
session_start();
include("configs.php");
$pin = $_POST['pin'];
if($_POST["pin"]) 
{
$uid = $_SESSION['user_id'];
$user_type = $_SESSION["user_type"];
if($user_type=="lite"){
$cur_uid = $uid;
$uid = $_SESSION["ad_id"];
}
$cur_bid = $_SESSION["default_business_id"];
$q = $conn->query("SELECT user_pin FROM business WHERE year = '$curr_year' AND user_id = '$uid' AND business_id = '$cur_bid'");
$c;
while($r=$q->fetch_assoc()){
$c = $r["user_pin"];
}
$qg = $conn->query("SELECT cityname FROM pincodes WHERE pincode = '$pin' ");
while($rg = $qg->fetch_assoc()) {
$p = $rg["cityname"];
} 
echo json_encode(array('city' => $p)); exit();
}else{
echo "prob";
}
?>
-------------------------------------------------
$.ajax({
url: "load_pincode.php",
method: "post",
data: {pin: pin},
success: function(response){
if(response == ""){
alert("please enter pincode");
}
else{
$("#city").val(response.city);
}
}
});

最新更新