【发布时间】:2019-03-12 21:10:14
【问题描述】:
我正在尝试在选择更改和单击按钮时从 MySql 数据库中检索一些数据。结果行中的数据应该显示在隐藏 div 中的 2 个文本框中,在按钮单击时显示。
empstatus.php
sql = "select * from mx_party_master";
$result = mysqli_query($db , $sql);
<body>
<?php myNav(); ?> <!-- A function to display a sidebar -->
<div class="container-fluid">
<div class="jumbotron">
<form action="#" method="GET">
<!-- DROPDOWN LIST -->
<select class="form-control" name="selectemp" id="selectemp">
<option value="">Select Party..</option>
<?php while($res= mysqli_fetch_assoc($result)){ ?>
<option value="<?php $res['KUNNR']; ?>"><?php echo $res['KUNNR'].'
'.$res['NAME1']; ?></option>
<?php }?>
</select>
<br>
<!-- BUTTON TO SHOW THE HIDDEN DIV AND RETRIEVE DATA FROM THE DATABASE -->
<button type="button" class="btn btn-lg btn-dark" name="subemp"
id="subemp">Search</button>
<!-- DIVISION WITH INPUT FIELDS WHERE DATA IS TO BE DISPLAYED-->
<div class="hiddendiv" style="display: none;">
<label for="open">Open Order: </label>
<input type="text" class="form-control" name="open" id="open"/>
<br>
<label for="open">Open Delivery: </label>
<input type="text" class="form-control" name="opendel" id="opendel" />
</div>
</form>
</div>
</div>
</body>
<!-- AJAX CODE -->
<script>
$(document).ready(function () {
(function ($) {
$('#selectemp').change(function () {
$('#subemp').click(function(){
$('.hiddendiv').toggle();
$.ajax({
type: "POST",
url: "empstatest.php",
dataType: 'JSON',
data: $('#selectemp').serialize()
}).done(function (data) {
$('#open').val(data.ordblock); <!-- I'M SURE I'M DOING THIS WRONG -- >
$('#opendel').val(data.ordblock);
});
});
});
})(jQuery);
});
</script>
empstatest.php
<?php
session_start();
header('Content-type: application/json');
$db = mysqli_connect("credentials");
$value = $_POST['selectemp'];
$sql = "select ordblock, delblock from mx_crlimit where kunnr = '$value'";
$res = pg_query($db, $sql);
$is = '';
$data = pg_fetch_assoc($res);
$is = json_encode($data);
echo $is;
?>
我是 Jquery 的新手,ajax 代码可能有问题,尤其是在我试图在输入字段中显示数据的地方。请帮我解决这个问题。
【问题讨论】:
-
你没有显示正在发生的事情,我们怎么知道出了什么问题?你得到什么结果,你将它发送到哪里?但对您没有帮助的一件事是您的表单方法设置为 GET 并且您正在尝试访问 POST,所以我怀疑您的变量未分配
-
首先,empstatest.php 不会将任何内容发送回 AJAX 调用。在最后一行后添加
echo $is; -
这就是我写的所有代码先生。我没有输出。仅显示输入字段。
-
在empslatest.php的最后一行添加
echo $is; -
您的 jQuery 代码在哪里,当您在控制台记录响应时会得到什么输出?
标签: javascript php jquery mysql ajax