Php 我如何在jQuery中从MySQL获取数据,而不用使用隐藏字段值点击按钮?
我试图通过将隐藏字段的值传递给jQuery来从MySQL获取用户信息,而无需单击按钮,每隔x分钟一次 到目前为止,我所拥有的:Php 我如何在jQuery中从MySQL获取数据,而不用使用隐藏字段值点击按钮?,php,jquery,mysqli,Php,Jquery,Mysqli,我试图通过将隐藏字段的值传递给jQuery来从MySQL获取用户信息,而无需单击按钮,每隔x分钟一次 到目前为止,我所拥有的: function getdetails() { var value = $('#userId').val(); $.ajax({ type: "POST", url: "getInfo.php", data: 'myinfo=' + value, success: function (dat
function getdetails() {
var value = $('#userId').val();
$.ajax({
type: "POST",
url: "getInfo.php",
data: 'myinfo=' + value,
success: function (data) {
$("#info").val(data);
}
});
setInterval(function () {
getdetails()
}, 1000);
};
getinfo.php
$id = $_POST['myinfo'];
$query = "select * from alumni_users where userId = '$id' ";
$update = mysqli_query($mysqli, $query);
while($row = mysqli_fetch_array($update)){
.......
}
0
您好,您可以这样做:
您的php脚本:
if (isset($_POST["action"])) {
$action = $_POST["action"];
switch ($action) {
case 'SLC':
if (isset($_POST["id"])) {
$id = $_POST["id"];
if (is_int($id)) {
$query = "select * from alumni_users where userId = '$id' ";
$update = mysqli_query($mysqli, $query);
$response = array();
while($row = mysqli_fetch_array($update)){
.......
fill your response here
}
echo json_encode($response);
}
}
break;
}
}
其中,action是要执行SLC、UPD、DEL等的命令,id是一个参数
然后在ajax中:
function getdetails() {
var value = $('#userId').val();
return $.ajax({
type: "POST",
url: "getInfo.php",
data: 'myinfo=' + value
})
}
call it like this:
getdetails().done(function(response){
var data=JSON.parse(response);
if (data != null) {
//fill your forms using your data
}
})
希望有三点帮助#1) 不要在getdetails()中创建间隔。每次调用它时,都会启动另一个间隔糟糕的时刻#2) 您的mysql没有使用准备好的语句,因此容易受到sql注入攻击#3) 您的mysql正在通过用户id搜索用户。。。。。。那么为什么
while
循环?应该(最多)只有一个结果。#4)在..
php部分中,向我们展示geing将结果返回给ajax的逻辑。同意所说的。坦白地说,您的代码看起来很好,我只是将间隔放在函数调用之外。@Christiano Soares,谢谢您的回复和建议。回答#3),它实际上获取了表中关于该特定用户的所有详细信息。因此,可能会有多个信息分配给他/她的用户ID,这意味着我的循环是正确的。此外,在逻辑上,echo将从php部分返回数据。