要像WhatsApp一样使用PHP和Ajax在聊天中排列消息,你可以按照以下步骤进行:
<?php
// 连接数据库
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "chat";
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 接收新消息
if (isset($_POST['message'])) {
$message = $_POST['message'];
// 将消息插入数据库
$sql = "INSERT INTO messages (message) VALUES ('$message')";
$conn->query($sql);
}
// 获取聊天消息
$sql = "SELECT * FROM messages ORDER BY id DESC";
$result = $conn->query($sql);
// 输出聊天消息
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<p>" . $row['message'] . "</p>";
}
} else {
echo "暂无消息";
}
$conn->close();
?>
// 发送消息
function sendMessage() {
var message = document.getElementById("message").value;
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// 刷新消息列表
document.getElementById("message-list").innerHTML = this.responseText;
}
};
xmlhttp.open("POST", "backend.php", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send("message=" + message);
}
// 定时刷新消息列表
setInterval(function() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// 刷新消息列表
document.getElementById("message-list").innerHTML = this.responseText;
}
};
xmlhttp.open("GET", "backend.php", true);
xmlhttp.send();
}, 1000);
请注意,以上代码和产品链接仅供参考,具体实现和选择产品时需要根据实际情况进行调整。
领取专属 10元无门槛券
手把手带您无忧上云