我的流程是这样的:我有一个下拉菜单和文本框。当我从下拉列表中选择一个id(唯一ID)然后单击“提交”按钮时,要在文本框中显示相应的名称。
我的数据库字段:
id
(自动增量)AgencyName_id
(唯一ID)dispay.html
<select name="agencyID_dwn" class="idLookup_dwn" id="agencyID_dwn" >
<option selected>...Select...</option>
<?php
while($row = mysqli_fetch_array($result)){
?>
<option value="<?php echo $row['AgencyName_id'];?>">
<?php echo $row['AgencyName_id'];?></option>
<?php
}
?>
</select>
// for input text
<input type="text" id="testid">
// submit button
<input type="submit" name="lookupSubmit">
dataGet.php
<?php
if (isset($_POST["lookupSubmit"])) {
$user_id=$_POST['agencyID_dwn'];
$query = "select * from AgencyHome where AgencyName_id = '$user_id'" ;
$result=mysqli_query($db, $query);
$data = mysqli_fetch_assoc($result);
echo json_encode($data);
exit();
}
?>
myjson.js
<script src="//code.jquery.com/jquery-1.11.2.min.js"> </script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"> </script>
<script type="text/javascript">
$(document).ready(function(){
$('#agencyID_dwn').change(function(){
var reg_number = $(this).val();
var data_String;
data_String = 'reg_number='+reg_number;
$.post('dataGet.php',data_String,function(data){
var data= jQuery.parseJSON(data);
$('#testid').val(data.Name);
});
});
});
</script>
当我点击提交按钮时 我在“dataGet.php”中将数据库结果作为数组。但是在文本框中没有显示结果。我的代码中有任何错误?
答案 0 :(得分:2)
在dataGet.php中尝试这样,
while ($row = mysqli_fetch_assoc($result)) {
echo $row["Name"];
}
答案 1 :(得分:1)
这是你的答案
你的index.php
<?php
$conn = mysqli_connect("localhost","root","","test_db");
?>
<!DOCTYPE>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="//code.jquery.com/jquery-1.11.2.min.js"> </script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"> </script>
<script type="text/javascript">
$(document).ready(function(){
$('#agencyID_dwn').change(function(){
var reg_number = $(this).val();
var data_String;
data_String = 'reg_number='+reg_number;
$.post('dataGet.php',data_String,function(data){
console.log(data);
var data= jQuery.parseJSON(data);
$('#testid').val(data.Name);
});
});
});
</script>
<body>
<form>
<select name="agencyID_dwn" class="idLookup_dwn" id="agencyID_dwn" >
<option selected>...Select...</option>
<?php
$query = "select AgencyName_id from AgencyName";
$result = mysqli_query($conn,$query);
while($row = mysqli_fetch_array($result)){
?>
<option value="<?php echo $row['AgencyName_id'];?>">
<?php echo $row['AgencyName_id'];?></option>
<?php
}
?>
</select>
// for input text
<input type="text" id="testid">
// submit button
<input type="submit" name="lookupSubmit">
</form>
</body>
</html>
以及您的dataGet.php文件如下所示
<?php
$conn = mysqli_connect("localhost","root","","test_db");
$reg_number=$_POST['reg_number'];
$query = "select * from AgencyName where AgencyName_id = '$reg_number'" ;
$result=mysqli_query($conn, $query);
$data = mysqli_fetch_assoc($result);
// print_r($data);
echo json_encode($data);
exit();
?>
just ccheck your table name and all will work