【发布时间】:2020-04-11 06:10:25
【问题描述】:
这是我正在更新的 div
但我想向 (li) 项目添加一个活动类 每次 div 刷新时,活动类都会消失 所以我不想刷新(ul)中的所有数据,但是 仅当数据库中有新数据时才添加 (li), 无需刷新之前的 (li) 项
<div id="contacts">
<ul id="rooms" class="rooms">
<!-- This is where the data get inserted -->
<!-- the ajax call and this -->
<li class='contact' data-val='<?php echo $room['id']; ?>'>
<div class='wrap'>
<div class='meta'>
<p class='name'><?php echo $room['sender']; ?></p>
<p class='preview'><?php echo $room['senderemail']; ?></p>
</div>
</div>
</li>
</ul>
</div>
这是我的 ajax 调用
$(document).ready(function() {
var interval = setInterval(function(){
$.ajax({
url: 'rooms.php',
success: function(data){
$('#rooms').html(data);
}
});
}, 1000);
});
在房间里 php
$rooms = get_rooms();
foreach($rooms as $room){
?>
<li class='contact' data-val='<?php echo $room['id']; ?>'>
<div class='wrap'>
<div class='meta'>
<p class='name'><?php echo $room['sender']; ?></p>
<p class='preview'><?php echo $room['senderemail']; ?></p>
</div>
</div>
</li>
<?php
}
get_rooms() 函数
function get_rooms() {
$sql = "SELECT id, sender, senderemail FROM chatroom ";
$result = mysqli_query($GLOBALS['dbh'], $sql);
$rooms = array();
while($room = mysqli_fetch_assoc($result)){
$rooms[] = array('id'=>$room['id'], 'sender'=>$room['sender'],
'senderemail'=>$room['senderemail']);
}
return $rooms;
}
【问题讨论】:
-
可以看一下jquery的append方法吗? api.jquery.com/append 我强烈建议为这些元素设置一个唯一的 ID,这样您就可以通过 ID 检查它是否已经出现在页面上
标签: javascript php jquery ajax