2016-02-26 70 views
0

我有一个表呼叫user。下面是数据:jquery当mysql表数据更新时立即显示最新数据

+----------+----------+ 
| 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; ?>没有刷新网页?我在谷歌上找到一些教程,但无法工作。

+0

使用'AJAX' http://www.w3schools.com/jquery/ajax_ajax.asp – Samir

回答

0

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

然后加入这个替换<?php echo $moneyN; ?><head>

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

这将加载任何balance.php打印到该分区在当reloadBalance()被触发时显示的钱。现在你可能需要编写一个只显示金钱而​​没有别的东西的脚本。

要发射一个按钮或链接时,只需添加一个onclick事件,它如

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

编辑::注意这需要jQuery的,所以你必须要包括为它工作。

+0

它每3秒钟会重新载入balance.php吗?如果我只是想当用户点击链接,然后只重新加载balance.php?可能吗?谢谢。 –

+0

@SweeHong是的,那更容易。我会在一秒钟内更新帖子 – aron9forever

相关问题