当用户想要添加或删除表中的一行时,我已经看到了很多tablesorter触发更新的示例,但我想看看它是否有可能重新加载整个行或 tbody 如果有变化数据库?
这就是我的想法,所以请让我知道这是否是一个好主意。
JAVASCRIPT 和 PHP 中的设置:
( _ MySQL)并获取 lastUpdate 并显示它)此 lastUpdate 信息(日期/时间)将保存在 VAR 中以供以后使用。
2.添加一个计时器,它将 ping 同一个 (.PHP) 页面,并将它的 lastUpdate 与我们在页面首次加载时获得的初始 lastUpdate 进行比较。
3.我们将每隔 x 秒(可能是 10 秒)持续 ping 一次,以嗅探数据库中 lastUpdate 的更改。
4.(比较):如果最初的 lastUpdate 值小于我们刚刚从数据库中得到的值,那么这意味着数据库的内容已经改变,它会做两种可能的事情之一。
从这一点开始,我想做的是:
选项 1:仅删除旧行并将其替换为更新的行。每行都有一个唯一的 ID,因此 javascript 也可以获取此 ID#,然后只需更新表中的该行。
或者
选项 2:删除当前 Tbody,然后用新数据重新加载整个 Tbody。
该表有很多行/列,并使用图像、hrefs 等等......所以每一行都是一个沉重的行,这就是为什么我想尽可能使用选项 1,但我不知道如何做这最后一部分!?
(与聊天程序不同)行不必按正确的顺序排列,只要我知道数据库中更新的 ID 是什么。
假设我们有一个地址簿,用户可以编辑/更新、添加、删除联系人和联系信息。现在我只想扫描更改,当发现更改时,发送该行的 ID 和数据数据库到通过ID匹配的表中的行,然后更新它或删除旧的并用新的替换它,但是如果在数据库中找不到该ID,则从表中删除该ID,因为它没有数据库中的时间更长。
所以我能遇到的唯一问题是,不止一个用户同时进行了更改(就像在确切的秒内),然后只有一个更新会显示。但我认为这可以通过检查数据库来绕过,如果有任何其他不同的 ID 具有确切的日期/时间,并且如果有然后更新它们。
非常感谢您阅读本文并感谢您为我提供的任何帮助。