PHP/MySQL/AJAX-使用AJAX刷新查询值

PHP/MySQL/AJAX-使用AJAX刷新查询值,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我希望我的标题随后用我的数据库中的新值刷新 为了实现它,我创建了一个AJAXpost方法: AJAX(已编辑): $(document).ready( function () { function update() { $.ajax({ type: "POST", url: "indextopgame.php", data: { id: "<?=$_SESSION['user']['id']?>"}, success: function(dat

我希望我的
标题
随后用我的
数据库
中的新值刷新

为了实现它,我创建了一个
AJAX
post方法:

AJAX(已编辑):

$(document).ready( function () {
  function update() {
  $.ajax({
    type: "POST",
    url: "indextopgame.php",
    data: { id: "<?=$_SESSION['user']['id']?>"},
    success: function(data) { 
        $(".full-wrapper").html(data);
    }
});
      }

  setInterval( update, 5000 );
});
<?php

session_start();

$con = new mysqli("localhost","d0man94_eworld","own3d123","d0man94_eworld");

function sql_safe($s)
{
    if (get_magic_quotes_gpc())
        $s = stripslashes($s);
    global $con;
    return mysqli_real_escape_string($con, $s);
}

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{   
    $id = trim(sql_safe($_POST['id']));

    $data = "SELECT username, email, user_role, fbid, googleid, fname, lname, avatar, energy, energymax, health, healthmax, fame, edollar, etoken, companies, workid, city, function FROM members WHERE id = $id";
    $result = mysqli_query($con, $data);

    if (mysqli_num_rows($result) > 0) {
        while($row = mysqli_fetch_assoc($result)) {

            $_SESSION['user']['user_role'] = $row["id"];
            $_SESSION['user']['fbid'] = $row['fbid'];
            $_SESSION['user']['googleid'] = $row['googleid'];
            $_SESSION['user']['created'] = $row['created'];
            $_SESSION['user']['lastlogin'] = $row['lastlogin'];
            $_SESSION['user']['username'] = $row['username'];
            $_SESSION['user']['fname'] = $row['fname'];
            $_SESSION['user']['lname'] = $row['lname'];
            $_SESSION['user']['email'] = $row['email'];
            $_SESSION['user']['avatar'] = $row['avatar'];
            $_SESSION['user']['energy'] = $row['energy'];
            $_SESSION['user']['energymax'] = $row['energymax'];
            $_SESSION['user']['health'] = $row['health'];
            $_SESSION['user']['healthmax'] = $row['healthmax'];
            $_SESSION['user']['fame'] = $row['fame'];
            $_SESSION['user']['edollar'] = $row['edollar'];
            $_SESSION['user']['etoken'] = $row['etoken'];
            $_SESSION['user']['companies'] = $row['companies'];
            $_SESSION['user']['workid'] = $row['workid'];
            $_SESSION['user']['city'] = $row['city'];
            $_SESSION['user']['function'] = $row['function'];
        }

            echo $_SESSION['user']['energy'];
    }
}
?>
不过,这不会用我想要的值更新标题,相反,它只会使标题消失。这个代码怎么了?也许还有其他更有效的方法来刷新MySQL中的值

编辑:

$(document).ready( function () {
  function update() {
  $.ajax({
    type: "POST",
    url: "indextopgame.php",
    data: { id: "<?=$_SESSION['user']['id']?>"},
    success: function(data) { 
        $(".full-wrapper").html(data);
    }
});
      }

  setInterval( update, 5000 );
});
<?php

session_start();

$con = new mysqli("localhost","d0man94_eworld","own3d123","d0man94_eworld");

function sql_safe($s)
{
    if (get_magic_quotes_gpc())
        $s = stripslashes($s);
    global $con;
    return mysqli_real_escape_string($con, $s);
}

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{   
    $id = trim(sql_safe($_POST['id']));

    $data = "SELECT username, email, user_role, fbid, googleid, fname, lname, avatar, energy, energymax, health, healthmax, fame, edollar, etoken, companies, workid, city, function FROM members WHERE id = $id";
    $result = mysqli_query($con, $data);

    if (mysqli_num_rows($result) > 0) {
        while($row = mysqli_fetch_assoc($result)) {

            $_SESSION['user']['user_role'] = $row["id"];
            $_SESSION['user']['fbid'] = $row['fbid'];
            $_SESSION['user']['googleid'] = $row['googleid'];
            $_SESSION['user']['created'] = $row['created'];
            $_SESSION['user']['lastlogin'] = $row['lastlogin'];
            $_SESSION['user']['username'] = $row['username'];
            $_SESSION['user']['fname'] = $row['fname'];
            $_SESSION['user']['lname'] = $row['lname'];
            $_SESSION['user']['email'] = $row['email'];
            $_SESSION['user']['avatar'] = $row['avatar'];
            $_SESSION['user']['energy'] = $row['energy'];
            $_SESSION['user']['energymax'] = $row['energymax'];
            $_SESSION['user']['health'] = $row['health'];
            $_SESSION['user']['healthmax'] = $row['healthmax'];
            $_SESSION['user']['fame'] = $row['fame'];
            $_SESSION['user']['edollar'] = $row['edollar'];
            $_SESSION['user']['etoken'] = $row['etoken'];
            $_SESSION['user']['companies'] = $row['companies'];
            $_SESSION['user']['workid'] = $row['workid'];
            $_SESSION['user']['city'] = $row['city'];
            $_SESSION['user']['function'] = $row['function'];
        }

            echo $_SESSION['user']['energy'];
    }
}
?>
我编辑了
AJAX
/
PHP
代码示例-它就是这样工作的!但我如何回应所有这些变量呢?一个接一个的回显似乎会再次导致错误,因为值将从标题中消失

EDIT2:

$(document).ready( function () {
  function update() {
  $.ajax({
    type: "POST",
    url: "indextopgame.php",
    data: { id: "<?=$_SESSION['user']['id']?>"},
    success: function(data) { 
        $(".full-wrapper").html(data);
    }
});
      }

  setInterval( update, 5000 );
});
<?php

session_start();

$con = new mysqli("localhost","d0man94_eworld","own3d123","d0man94_eworld");

function sql_safe($s)
{
    if (get_magic_quotes_gpc())
        $s = stripslashes($s);
    global $con;
    return mysqli_real_escape_string($con, $s);
}

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{   
    $id = trim(sql_safe($_POST['id']));

    $data = "SELECT username, email, user_role, fbid, googleid, fname, lname, avatar, energy, energymax, health, healthmax, fame, edollar, etoken, companies, workid, city, function FROM members WHERE id = $id";
    $result = mysqli_query($con, $data);

    if (mysqli_num_rows($result) > 0) {
        while($row = mysqli_fetch_assoc($result)) {

            $_SESSION['user']['user_role'] = $row["id"];
            $_SESSION['user']['fbid'] = $row['fbid'];
            $_SESSION['user']['googleid'] = $row['googleid'];
            $_SESSION['user']['created'] = $row['created'];
            $_SESSION['user']['lastlogin'] = $row['lastlogin'];
            $_SESSION['user']['username'] = $row['username'];
            $_SESSION['user']['fname'] = $row['fname'];
            $_SESSION['user']['lname'] = $row['lname'];
            $_SESSION['user']['email'] = $row['email'];
            $_SESSION['user']['avatar'] = $row['avatar'];
            $_SESSION['user']['energy'] = $row['energy'];
            $_SESSION['user']['energymax'] = $row['energymax'];
            $_SESSION['user']['health'] = $row['health'];
            $_SESSION['user']['healthmax'] = $row['healthmax'];
            $_SESSION['user']['fame'] = $row['fame'];
            $_SESSION['user']['edollar'] = $row['edollar'];
            $_SESSION['user']['etoken'] = $row['etoken'];
            $_SESSION['user']['companies'] = $row['companies'];
            $_SESSION['user']['workid'] = $row['workid'];
            $_SESSION['user']['city'] = $row['city'];
            $_SESSION['user']['function'] = $row['function'];
        }

            echo $_SESSION['user']['energy'];
    }
}
?>

解决了,我在语法上犯了一个愚蠢的错误。。。谢谢大家的贡献

您没有在ajax调用中使用从服务器发回的数据:

success: function() { 
        $(".full-wrapper").html(data); 
    }
});
应该是:

success: function(data) { 
                  ^^^^ the returned data
        $(".full-wrapper").html(data); 
    }
});

您还应该检查您的php脚本是否真的回显了一些有用的内容。

您没有在ajax调用中使用从服务器发回的数据:

success: function() { 
        $(".full-wrapper").html(data); 
    }
});
应该是:

success: function(data) { 
                  ^^^^ the returned data
        $(".full-wrapper").html(data); 
    }
});

您还应该检查您的php脚本是否实际响应了一些有用的内容。

数据
成功方法中缺少选项

success: function(data) {                      
   $(".full-wrapper").html(data); 
}

此外,您还必须在php文件中回显要在标题中显示的内容

成功方法中缺少数据选项

success: function(data) {                      
   $(".full-wrapper").html(data); 
}

此外,您还必须在php文件中回显要在标题中显示的内容

如果您在成功时转储数据var。。你得到了正确的数据吗?@Akin实际上使我的头消失了。你为什么来回发送会话变量?它已经在服务器上,因此没有理由将其发送到客户端并返回到服务器。您正在回显true/false。您知道,您的控制台应该在成功线路上显示错误。成功转储数据变量时,变量
data
不存在。。你得到了正确的数据吗?@Akin实际上使我的头消失了。你为什么来回发送会话变量?它已经在服务器上,因此没有理由将其发送到客户端并返回到服务器。您正在回显true/false。您知道,您的控制台应该在成功线路上显示错误。变量
data
不存在太好了,我已经完成了一半,现在只是php数据没有出现,这意味着我需要处理php部分。谢谢杰伦!很好,我已经完成了一半,现在只是php数据没有出现,这意味着我需要处理php部分。谢谢杰伦!