[英]Stop repeating div content in PHP AJAX MySQL
我試圖使用AJAX技術從MySQL數據庫動態檢索數據到網頁,但重復div內容。 我想刷新div而不重復信息。
這是代碼
api.php
<?php
require 'db.php';
$query = "SELECT * FROM variables";
$result = mysqli_query($con,$query);
$data = array();
while ( $row = mysqli_fetch_row($result) )
{
$data[] = $row;
}
echo json_encode( $data );
?>
client.php
<html>
<head>
<script language="javascript" type="text/javascript" src="jquery.js">
</script>
</head>
<body>
<h2> Client example </h2>
<h3>Output: </h3>
<div id="output"></div>
<script id="source" language="javascript" type="text/javascript">
function ajaxcall()
{
$.ajax({
url: 'api.php', data: "", dataType: 'json', timeout:2000,
success: function(rows)
{
for (var i in rows)
{
var row = rows[i];
var id = row[0];
var vname = row[1];
$('#output').append("<b>id: </b>"+id+"<b> name: </b>"+vname)
.append("<hr />");
}
}
});
};
ajaxcall();
setInterval(ajaxcall, (1 * 1000));
</script>
</body>
</html>
改變這個
success: function(rows)
{
for (var i in rows)
對此
success: function(rows)
{
$('#output').html(''); // empty the container div and append new HTML
for (var i in rows)
嘗試使用$('output').empty();
在循環之前,以避免重復內容。
另一種方法可以做到:
var htmlData = '';
for (var i in rows)
{
var row = rows[i];
var id = row[0];
var vname = row[1];
htmlData + ="<b>id: </b>"+id+"<b> name: </b>"+vname+"<hr />";
}
$('#output').html(htmlData);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.