Php 我如何在jQuery中从MySQL获取数据,而不用使用隐藏字段值点击按钮?

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

我试图通过将隐藏字段的值传递给jQuery来从MySQL获取用户信息,而无需单击按钮,每隔x分钟一次

到目前为止,我所拥有的:

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部分返回数据。