Php 在更改事件上使用jquery从数据库获取值
我有一张桌子上的房间清单和租金。房间在下拉菜单中列出,我想在“输入”字段值、“页面加载”以及“下拉值更改”中获取租金。我写了下面的代码,但不知怎么的,它并没有像预期的那样工作。有人能帮我吗Php 在更改事件上使用jquery从数据库获取值,php,jquery,mysql,Php,Jquery,Mysql,我有一张桌子上的房间清单和租金。房间在下拉菜单中列出,我想在“输入”字段值、“页面加载”以及“下拉值更改”中获取租金。我写了下面的代码,但不知怎么的,它并没有像预期的那样工作。有人能帮我吗 <?php define("HOST", "localhost"); define("DB_USER", "root"); define("DB_PASS", ""); define("DB_NAME", "testdb"); $conn = mysqli_connect(HOST, DB_
<?php
define("HOST", "localhost");
define("DB_USER", "root");
define("DB_PASS", "");
define("DB_NAME", "testdb");
$conn = mysqli_connect(HOST, DB_USER, DB_PASS, DB_NAME);
if (!$conn) {
die(mysqli_error());
}
$ajax = false;
$dbValue = 1; //or the default value of your choice - matched to the default selection value of the dropdown
if (isset($_GET['action']) && $_GET['action'] == 'ajax' && isset($_GET['dd'])) {
$dbValue = intval($_GET['dd']);
$ajax = true;
$res = mysqli_query($conn, "SELECT rent FROM `rooms` WHERE roomid = '$dbValue' limit 1");
$dataTable = '';
while ($data = mysqli_fetch_assoc($res)) {
$dataTable = $data['rent'];
}
}
// if ($ajax) return $dataTable;
?>
<html>
<head>
<title>jQuery Validation for select option</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
</head>
<body>
<select class="form-control" id= "roomid" name="roomid" required="">
<?php
$troom_sql = "SELECT roomid FROM rooms WHERE (isactive='y' AND isassigned='n' AND roomid NOT IN (SELECT roomid from roomalloc))";
$troom_rs = mysqli_query($conn, $troom_sql);
while ($troom_mem = mysqli_fetch_assoc($troom_rs)) {
?>
<option value="<?php echo $troom_mem['roomid']; ?>"><?php echo $troom_mem['roomid']; ?></option>
<?php
} ?>
</select>
<input type="text" placeholder="Monthly Rent" class="form-control" id="rent" name="rent" required>
<br>
</body>
<script>
$('#roomid').change(function()
{
var first = $('#roomid').val();
var req = $.get('getDB.php', {dd: first, action: 'ajax'});
req.done(function(data)
{
console.log("asdasd");
$('#rent').val("<?php echo $dataTable; ?>");
});
});
</script>
</html>
$('#roomid')。更改(函数()
{
var first=$('#roomid').val();
var req=$.get('getDB.php',{dd:first,action:'ajax'});
请求完成(功能(数据)
{
console.log(“asdasd”);
$('租金').val(“”);
});
});
包装一个JQuery AJAX函数,该函数接受POST/GET请求的参数,并在JQuery事件上调用该AJAX函数。Ajax函数应该如下所示:
function LoadComponentPage( param ){
$.ajax({
type: "POST",
url: "./controller/ajax/component_paginate.php",
data: "page="+param,
dataType: "text",
success: function(resultData){
let section = $('#ComponentsListing');
section.empty();
section.html(resultData);
},
error : function(e){
console.log(e);
}
});
}
并在事件发生时调用该函数作为
onclick=“LoadComponentPage(param)”
。您可以对调用结果进行后期处理,以显示结果或错误,如示例函数所示。创建一个JQuery AJAX函数,该函数接受post/GET请求的参数,并在JQuery事件上调用该AJAX函数。Ajax函数应该如下所示:
function LoadComponentPage( param ){
$.ajax({
type: "POST",
url: "./controller/ajax/component_paginate.php",
data: "page="+param,
dataType: "text",
success: function(resultData){
let section = $('#ComponentsListing');
section.empty();
section.html(resultData);
},
error : function(e){
console.log(e);
}
});
}
并在事件发生时调用该函数作为
onclick=“LoadComponentPage(param)”
。您可以对调用的结果进行后期处理,以显示结果或错误,如示例函数所示。尽管您在同一个文件中编写了PHP和JS,但仍然需要从PHP端返回数据并在JS中处理
if ($ajax) return json_encode($dataTable)
从PHP方面
dat = JSON.parse(data)
在JS中虽然您已经在同一个文件中编写了PHP和JS,但仍然需要从PHP端返回数据并在JS中处理
if ($ajax) return json_encode($dataTable)
从PHP方面
dat = JSON.parse(data)
在JS中,您可能希望从PHP端返回结果,并更改
$('#rent').val(“”)
到数据
如果($ajax)从PHP端返回json_encode($dataTable)
并且在js中dat=json.parse(data)
您可能希望从PHP端返回结果并更改$('#rent').val(“”)
todata
if($ajax)从PHP端返回json\u encode($dataTable)
,并在JS中dat=json.parse(data)