当更新mysql表数据时,Jquery立即显示最新数据

时间:2016-02-26 14:12:31

标签: php jquery mysql

我有一个表格user。以下是数据:

+----------+----------+
| ID       | money    |            
+----------+----------+
| 1        | 100      |
| 2        | 200      |
+---------------------+

我的t.php代码如下所示:

//above is connect to db, so I ignore to paste here.
$queryUser = DB::query("SELECT * FROM ".DB::table('user')." WHERE uid = '1'");
while($rowUser = DB::fetch($queryUser)) {
    $moneyN = $rowUser['money'];
}
if($_GET['act'] == 'add'){
    $moneyadd = $moneyN + 10;
    DB::query("UPDATE ".DB::table('user')." SET money = '$money' WHERE uid = '1'");
}

我的t.html编码:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;">
<title>Testing</title>
</head>
<body>
<?php echo $moneyN; ?><br/><a href="t.php?act=add">Go</a>
</body>
</html>

我如何使用jquery更新数据库,并在没有刷新网页的<?php echo $moneyN; ?>中显示最新数据?我在google上找到了一些教程,但是无法工作。

1 个答案:

答案 0 :(得分:0)

这就是我使用的,它不一定是最好的,但无论如何。 首先将<?php echo $moneyN; ?>替换为<div id="something"><?php echo $moneyN; ?></div>

然后将其添加到您的<head>

<head>
<meta http-equiv="Content-Type" content="text/html;">
<title>Testing</title>
<script>
    function reloadBalance()
    {
        $("#something").load("balance.php");
    }
</script>
</head>

这会将balance.php打印件加载到该div中,当reloadBalance()被触发时显示钱。现在你可能需要编写一个只显示钱而不显示其他内容的脚本。

要使用按钮或链接触发事件,只需向其添加onclick事件,例如

<a href="#" onclick="reloadBalance()">Button</a>

编辑::请注意,这需要jQuery,因此您必须包含它才能使其正常工作。