gpt4 book ai didi

javascript - 如果 MySQL 获得新的最高 ID,我如何触发 PHP?

转载 作者:行者123 更新时间:2023-11-29 18:38:25 24 4
gpt4 key购买 nike

我试图让我的网页对我的 SQL 表中最高 ID (auto_increment) 增加的事件执行操作(在本例中播放声音),这发生在新用户注册时。例如。 : 3个用户注册,最高ID = 3。当新用户注册时,最高ID = 4。如果发生这种情况,网页会 echo/播放声音。Js和PHP分别是:

	<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
setInterval(function () {
$('#show').load('data.php')
}, 3000);
});
</script>
<?php
include ('../includes/dbh.inc.php');
if ($conn->connect_error) {
die("Connection error: " . $conn->connect_error);
}
$result = $conn->query("SELECT * FROM signs WHERE id = (SELECT MAX(id) FROM signs)");
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo $row['firstName'];
echo $row['lastName'];
echo $row['inOrOut'] . '<br>';
$numId = $row['ID'] . '<br>';
echo $numId;
}
$value = 1;
$value = $numId;
if ($value < $numId) {
//echo '<script type="text/javascript">play_sound();</script>';
echo "increased";
}
else
echo "nothing detected";
}
}
?>

如您所知,我尝试通过比较最新和最新的 ID 值来做一些事情,但失败得很惨。

我的尝试是为 oldID 存储一个初始值,然后在替换它之前将其与 newID 进行比较。

最佳答案

您不能仅使用 PHP 来做到这一点。但你可以这样做:如果你有一个网站,你在 php 的输出中设置当前最高的 ID。您可以使用 javascript 每 5 分钟(或您认为有意义的任何其他时间跨度)调用另一个 php 脚本,从而返回当前的最高数字。如果 php 脚本中的数字高于 javascript 中的数字,您可以让 javascript 为您播放声音。

假设您的 php 脚本返回这样的 id:

{"id":4}

javascript 调用的示例如下:

<html>
<head></head>
<script>

let highestId = 2;

window.setInterval(async function(){
const response = await fetch('http://localhost/jstest/index.php');
const myJson = await response.json();
console.log(console.log(myJson.id));
if (highestId < myJson.id) {
highestId = myJson.id
// here you can play your sound
$s = document.getElementById('myId');
$s.innerHTML = highestId;
}
}, 5000);

</script>
<body>
<span id="myId">0</span>
</body>
</html>

关于javascript - 如果 MySQL 获得新的最高 ID,我如何触发 PHP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59011776/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com