在没有框架的情况下对数据库进行更改时是否可以刷新网页?我试图寻找答案,但似乎都包括某种类型的框架来完成此任务。除非完全必要,否则我不喜欢学习新框架。我正在尝试制作一个消息传递应用程序。我可以接收其他人的登录消息,但前提是必须刷新页面。是否有解决方案,或者采取其他方法?学习一个框架对实现这一目标是否完全必要?这是我的代码,用于打印从另一个用户发送的消息,在这种情况下,我为另一个用户的帐单命名:
<?php
$conn = new mysqli($server_name,$server_username,$server_password,$dbname);
$bill = $conn ->query("SELECT message_sent FROM message WHERE name = 'bill'");
while($row = $bill->fetch_assoc())
{
echo $row["message_sent"];
}
?>
答案 0 :(得分:0)
您只需使用2个文件即可完成此操作-index.php
显示HTML页面,而get_messages.php
提供最新消息。
这确实使用了jQuery to do the server-side fetching,但是它更多的是库而不是框架;)
index.php
HTML页面每3秒向get-messages.php
发送一个请求,用任何新消息更新页面。
服务器端脚本get_messages.php
还会随机创建消息,因此您可以看到即时结果...一旦看到实际效果,就可以删除// --- BEGIN FAKE MESSAGE CREATION --- //
和{{ 1}}注释,并在适当的位置添加您自己的数据库代码。
希望我已经添加了足够的注释来解释发生的事情,发生的地点和原因!
// --- END FAKE MESSAGE CREATION --- //
<?php
// --- BEGIN FAKE MESSAGE CREATION --- //
session_start();
unset( $_SESSION[ 'messages' ] );
// --- END FAKE MESSAGE CREATION --- //
?>
<!--DOCTYPE HTML -->
<html>
<head>
<meta charset="utf-8">
<title>Messages</title>
<!-- Load jQuery -->
<script src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
</head>
<body>
<h1>Messages</h1>
<!-- This <div> is where messages will be displayed -->
<div id="message_list"></div>
<script>
function get_messages() {
// Load messages from the server
$.ajax({
url: 'get_messages.php',
success: function(result){
// Insert the result into <div id="message_list">
$("#message_list").html(result);
}
});
}
// Wait for the page to load...
$(document).ready( function() {
// Get messages straight away
get_messages();
// Call get_messages() every 3 seconds
setInterval( get_messages, 3000 );
});
</script>
</body>
</html>
我知道这不是最优雅的解决方案,但是希望这是一个简单的示例-一种改进是仅返回新消息,并将它们附加到现有列表中(以节省带宽等)...但我会留给您找出答案!